Как узнать MAC адрес компьютера, роутера, сетевой карты и другого оборудования?
Сетевая передача данных – сложный процесс, который содержит в себе множество нюансов. Каждый компьютер для отправки и принятия данных должен иметь уникальный идентификатор, чтобы не «затеряться» в сети интернет. В данном случае IP-адрес не является таковым, поскольку он может выдаваться единым на сеть или на группу компьютеров. Именно поэтому для уникальной идентификации оборудования, которое взаимодействует с интернетом, был введен MAC адрес. Он является уникальным для каждого сетевого оборудования, и выдача MAC адресов контролируется единым координирующим комитетом. Для некоторых задач бывает нужно узнать MAC адрес компьютера, и сделать это можно несколькими способами, речь о которых пойдет ниже.
Как узнать MAC адрес роутера или сетевой карты через меню сведений о системе
В операционной системе Windows имеется полезное меню «Сведения о системе», которое позволяет узнать различную информацию о компьютере. В частности, через него можно узнать разрядность Windows, информацию о подключенном оборудовании, установленных системных драйверах и многих других параметрах компьютера и операционной системы. Также, обратившись к меню «Сведения о системе», пользователь может узнать MAC адрес любых сетевых адаптеров, карт или роутеров, подключенных к компьютеру.
Чтобы узнать MAC адрес сетевого оборудования компьютера, необходимо сделать следующее:

-
Нажмите на клавиатуре сочетание клавиш Windows+R, чтобы вызвать строку «Выполнить». В ней пропишите команду msinfo32, которая позволяет быстро зайти в меню «Сведения о системе».

Далее выберите в открывшемся меню пункты «Компоненты» — «Сеть» — «Адаптер».

В указанным подразделе можно увидеть информацию обо всех сетевых устройствах, которые в данный момент взаимодействуют с компьютером. В том числе, среди представленной информации содержатся данные о MAC адресах оборудования.
Данный способ отличается своей простотой и наглядностью. Помимо MAC адреса компонента компьютера, он позволяет узнать IP адрес сети, а также определить драйвера, которые отвечают за грамотную работу того или иного оборудования.
Как узнать MAC адрес компьютера с помощью командной строки
Командная строка многофункциональна, и она позволяет получить данные практически о любых системных данных компьютера и операционной системы. Чтобы узнать через командную строку необходимую информацию, требуется ввести определенную команду. Ниже мы расскажем, как узнать MAC адрес компьютера через командную строку двумя способами. Для тех, кто не знает или забыл, напомним, что вызвать командную строку в Windows можно следующим образом: нажмите на клавиатуре сочетание Windows+R, после чего в окне «Выполнить» пропишите команду cmd, и на экране появится командная строка.

Первый способ
В командной строке необходимо прописать команду вызова информации о сетевых подключениях к компьютеру: ipconfig /all. Обратите внимание, что после слова ipconfig стоит пробел – это важно, поскольку при слитном написании команда не сработает. После того как команда написана, нажмите клавишу Enter, и отобразится информация обо всех сетевых данных компьютера и подключенного оборудования. Конкретно информация о MAC адресе содержится в пункте меню «Физический адрес».

Второй способ
Еще одна команда, которая позволяет через командную строку получить информацию о MAC адресах компьютера следующая: getmac /v /fo list. Введите ее в командную строку и нажмите Enter, чтобы увидеть информацию обо всех сетевых устройствах компьютера. Данная команда хороша тем, что она выводит исключительно MAC адреса и имя транспорта данных, более никаких сетевых сведений она не позволяет получить.

Как узнать MAC адрес через список сетевых подключений
Если требуется узнать MAC адрес роутера, сетевой карты или другого конкретного оборудования, проще всего посмотреть его через список сетевых подключений. Для этого необходимо:

- Нажать на клавиатуре сочетание клавиш Windows+R и в открывшейся строке «Выполнить» прописать команду ncpa.cpl, которая позволит быстро зайти в список сетевых подключений. Также попасть в требуемое меню можно через «Панель управления».
- В меню сетевых подключений показаны все сетевые устройства на компьютере, которые обладают своим личным MAC адресом. Чтобы посмотреть информацию о конкретном из них нажмите на него правой кнопкой мыши и выберите пункт «Свойства». Поскольку данная команда проводится от имени администратора, потребуется подтвердить ее выполнение.

В меню свойств посмотреть MAC адрес роутера, сетевой карты или другого оборудования можно наведя на его название в графе «Подключение через».
Данный способ имеет преимущество перед остальными, если требуется определить MAC адрес конкретного устройства, к примеру, того, через который в данный момент компьютер подключен к интернету.
Как найти MAC-адреса других устройств в сети?
Хотите найти MAC-адрес мобильного телефона вашей жены? Или вам интересно узнать MAC-адрес вашего ноутбука или, может быть, вашего холодильника (в котором также установлено сетевое устройство)? Как его найти? Это очень просто!
Чтобы найти IP-адреса и MAC-адреса других устройств в той же сети, что и ваша, выполните следующие действия.

Найдите MAC-адреса других устройств в той же сети, что и вы.
Чтобы начать, найдите свой собственный IP-адрес. Введите следующую команду в командной строке Linux.
ip -a
Теперь вы увидите список сетевых устройств на вашем компьютере. Вы также увидите свой локальный IP-адрес во внутренней сети и маску подсети. Обычно ваш IP-адрес будет выглядеть примерно как 192.168.0.104, а маска подсети будет выглядеть как 255.255.255.0. Здесь могут быть изменения, но это вполне нормальный способ для этого выглядеть.
Но что вы можете сделать сейчас? Когда у вас есть эта информация, выполните следующие действия.
sudo apt install nmap
Это установит Nmap на ваш компьютер, фантастическую программу для запуска диагностики на вашем устройстве и вашей сети. Теперь пришло время повеселиться.
sudo nmap -sn 192.168.0.1/24
Выше вы должны использовать IP-адрес вашего шлюза (маршрутизатора), а затем 24 — правильное число за косой чертой, если маска подсети 255.255.255.0. Эта команда покажет вам все устройства, подключенные к локальной сети. С настройками у вас будет максимум 254 устройства, но если это обычная домашняя сеть, вы, скорее всего, увидите 3-10 устройств или что-то в этом роде.
Для отображения результатов потребуется несколько секунд, но как только они это сделают, вы увидите список подключенных устройств, их локальные IP-адреса, их адреса MAc, а также их сетевые имена (если они есть).
Таким образом, вы нашли MAC-адрес другого устройства в вашей сети. Это было не трудно, не так ли?
Если вы хотите узнать больше о конкретном устройстве по определенному IP-адресу (например, 192.168.0.101), выполните следующую команду.
sudo nmap 192.168.0.101
Это покажет вам открытые порты данного хоста, а также покажет вам MAC-адрес устройства, использующего этот заданный IP-адрес.
Найдите MAC-адрес с помощью ARP.
Существует другой метод, который вы можете использовать, который еще проще в использовании. Выполните следующую команду, и вы сможете увидеть локальные IP-адреса и MAC-адреса всех устройств, подключенных к одному маршрутизатору/шлюзу.
arp -e
Это было легко, не так ли? Теперь у вас есть два метода поиска IP-адресов и MAC-адресов других пользователей, использующих ту же сеть, что и вы.
На этом пока все. Вы готовы искать MAC-адреса других пользователей в той же сети, что и вы. Одно маленькое предупреждение в конце. Nmap — очень мощный инструмент, и если вы его используете, вы можете привлечь внимание сетевых администраторов, которые улавливают опасные сигналы в сети. Другими словами, сообщите сетевым администраторам о своих намерениях, прежде чем начать. Если нет, вы вполне можете получить дополнительное внимание, которое вам на самом деле не нужно.
Как узнать mac адреса всех устройств в сети
Узнаем мак-адрес компьютера через сведения сетевого подключения.
Для этого надо зайти в Сетевые подключения компьютера. Для этого нажимаем комбинацию клавиш WIN+R

и в строку Открыть вводим команду ncpa.cpl
Нажимаем кнопку ОК и попадаем в Сетевые подключения Windows.

Нажмите правой кнопкой мыши на Подключении по локальной сети и в выпавшем списке выберите Состояние.
Нажмите кнопку Сведения.

Найдите пункт Физический адрес, который и является MAC-адресом вашей сетевой платы.

ц
Узнаем мак-адрес сетевой карты через командную строку.
1. Нажимаем комбинацию клавиш WIN+R и в строку Открыть вводим команду cmd и нажимаем Enter.
В новом окне наберите текст getmac и нажмите Enter. Через пару секунд появится длинная строчка где будут выведены все МАС-адреса всех сетевых устройств компьютера.
2. Нажимаем комбинацию клавиш WIN+R и в строку Открыть вводим команду cmd и нажимаем Enter.
В новом окне наберите текст ipconfig/all и нажмите Enter.
Получить все MAC адреса устройств в локальной сети
Итак, перед Вами поставлена задача, провести соответствие устройств с их MAC адресами в локальной сети, как бы вы поступили? Вопрос номер два: а для чего все это нужно, таким образом, я преследую несколько целей:
- Составить список всех зарегистрированных устройств
- Настроить авторизацию в сети только тех устройств из первого списка, которые реально определяют те устройства, которые реально работают и я их знаю, в общем как то так, позже обобщу все-то чего я хочу добиться этим пунктом.
План исполнения поставленной задачи:
- Просканировать локальную сеть по маске, используемой на предприятии, но может быть, что машины закрыты фаерволом, поэтому нужно посылать arp request ’ы.
- Посредством ARP запрос проверить каждый узел сети на получение его MAC адреса, уникального идентификатора устройства.
MAC адрес – это, к примеру:
C:\Users\ekzorchik>ping -n 1 192.168.0.1
Обмен пакетами с 192.168.0.1 по с 32 байтами данных:
Ответ от 192.168.0.1: число байт=32 время=2мс TTL =128
C:\Users\ekzorchik>arp -a 192.168.0.1
Интерфейс: 192.168.0.186 — 0 xb
адрес в Интернете Физический адрес Тип
192.168.0.1 00-15-5 d -0 a -06-00 динамический -> вот это и есть MAC адрес устройства, где первые 6 байт: 00-15-5 d это идентификатор производителя, вычисляется он по полной базе (Задача: прикрутить к скрипту опознавание кто это), а следующие 6 байт – это уникальный идентификатор сетевого адаптера установленного в системе.
Как я бы решал поставленную задачу:
Т.к. я преимущественно отожествляю себя, как Ubuntu специалист, то и средство на котором я буду разбирать пути решения – это система Ubuntu 12.04.5 серверная редакция:
Получить результат можно следующими способами:
А) Утилита arp — scan – данная утилита может просканировать все сеть и получить заветные значения: IP & MAC
ekzorchik@srv-host:~$ sudo apt-get install arp-scan –y
Запускаю утилиту на сканирование текущей сети, в которой сетевой адаптер получил от DHCP сервера IP адрес:
ekzorchik@srv-host:~$ arp-scan —interface=eth0 —localnet
You need to be root, or arp-scan must be SUID root, to open a link-layer socket.
link _ open : Operation not permitted
Как видно выше и из документации ( arp — scan – help ) утилита может работать только с правами root , поэтому задействуем утилиту sudo для предоставления ей таких прав на запуск:
ekzorchik@srv-host:~$ sudo arp-scan —interface=eth0 —localnet
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-sca n/)
192.168.0.1 00:15:5d:0a:06:00 Microsoft Corporation
192.168.0.2 00:15:5d:0a:06:01 Microsoft Corporation
192.168.0.3 00:50:56:9c:25:c3 VMware, Inc.
192.168.0.5 00:21:91:fb:c9:45 D-Link Corporation
192.168.0.6 00:22:64:0a:e0:e8 Hewlett Packard
192.168.0.7 00:15:17:fa:a6:ac Intel Corporate
192.168.0.9 00:15:5d:0a:06:0d Microsoft Corporation
192.168.0.10 00:0c:29:34:c4:b4 VMware, Inc.
192.168.0.11 00:0c:29:c2:ee:15 VMware, Inc.
192.168.0.12 d8:eb:97:d0:5d:0d (Unknown)
Здесь я прерываю список, т.к. он очень большой, что теперь я могу сделать:
Сохранить его в txt
Открыть в программе LibreOffice Calc и произвести с ним некоторое форматирование, добавив такие колонки, как: Сервис на этом IP адресе, местонахождение устройства.
На заметку: Также можно использовать данную утилиту не для всего пула устройства в сети, а для конкретных IP адресов:
ekzorchik@srv-host:~$ sudo arp-scan —interface=eth0 192.168.0.1 192.168.0.20 192.168.0.10
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 3 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.0.20 00:15:17:73:be:84 Intel Corporate
192.168.0.1 00:15:5d:0a:06:00 Microsoft Corporation
192.168.0.10 00:0c:29:34:c4:b4 VMware, Inc.
6 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 3 hosts scanned in 0.106 seconds (28.30 hosts/sec). 3 responded
Просканировать локальную сеть, ограничив результаты маской подсети:
ekzorchik@srv-host:~$ sudo arp-scan —interface=eth0 192.168.0.0/24
ekzorchik@srv-host:~$ sudo arp-scan —interface=eth0 192.168.0.0:255.255.255.0
Просканировать локальную сеть, огранив результаты, указанным диапозоном IP адресов:
ekzorchik@srv-host:~$ sudo arp-scan —interface=eth0 192.168.0.1-192.168.0.10
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 10 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.0.1 00:15:5d:0a:06:00 Microsoft Corporation
192.168.0.2 00:15:5d:0a:06:01 Microsoft Corporation
192.168.0.3 00:50:56:9c:25:c3 VMware, Inc.
192.168.0.6 00:22:64:0a:e0:e8 Hewlett Packard
192.168.0.5 00:21:91:fb:c9:45 D-Link Corporation
192.168.0.7 00:15:17:fa:a6:ac Intel Corporate
192.168.0.9 00:15:5d:0a:06:0d Microsoft Corporation
192.168.0.10 00:0c:29:34:c4:b4 VMware, Inc.
11 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 10 hosts scanned in 0.363 seconds (27.55 hosts/sec). 8 responded
В комплекте с утилитой идет также утилита : arp — fingerprint – которая по своей базе отпечатком может косвенно определить, к какому типу операционных систем принадлежит тот или иной IP адрес:
ekzorchik@srv-host:~$ sudo arp-fingerprint -o «—interface=eth0 —numeric» 192.168.0.1
192.168.0.1 11110100000 FreeBSD 5.3, 7.0, DragonflyBSD 2.0, Win98, WinME, NT4, 2000, XP, 2003, Catalyst IOS 12.0, 12.1, 12.2, FortiOS 3.00
ekzorchik@srv-host:~$ sudo arp-fingerprint -o «—interface=eth0 —numeric» 192.168.0.10
192.168.0.10 01010100000 Linux 2.2, 2.4, 2.6, Vista, 2008, Windows7
Из обоих примеров, я вынес для себя, что получаемые результаты слишком расплывчаты и не могут со 100% точностью характеризовать систему.
Также очень интересным считаю, это выявление факта того, что в сети каким либо образом появляется двойник (конфликт) с точно таким же IP адресом как и у зарегистрированного клиента:
ekzorchik@srv-host:~$ sudo arp-scan —interface=eth0 —arpspa=dest 192.168.0.10
За дополнительными параметрами следует обращаться к справочной информации: man arp — scan
Б) Вторым способом получения, точно такого же результата, как выше из утилиты arp — scan является сетевой сканер безопасности: — nmap
ekzorchik@srv-host:~$ sudo apt-get install nmap –y
На заметку: обозначение опций используемых для получения результата: IP = MAC
— sP -> Пинг сканирование — просто определить, работает ли хост
— PR -> Задействовать проверку ARP Ping ,т.е. по хосту определить производителя сетевой карточки.
ekzorchik@srv-host:~$ sudo nmap -sP -PR 192.168.0.* | head -n 20
Starting Nmap 5.21 ( http://nmap.org ) at 2015-02-09 09:34 MSK
Nmap scan report for server.dsplit.local (192.168.0.1)
Host is up (0.0030s latency).
MAC Address: 00:15:5D:0A:06:00 (Microsoft)
Nmap scan report for ekt-ts10.dsplit.local (192.168.0.2)
Host is up (0.0027s latency).
MAC Address: 00:15:5D:0A:06:01 (Microsoft)
Nmap scan report for tserver.dsplit.local (192.168.0.3)
Host is up (0.0027s latency).
MAC Address: 00:50:56:9C:25:C3 (VMware)
Nmap scan report for vmw1.dsplit.local (192.168.0.5)
Host is up (0.0082s latency).
MAC Address: 00:21:91:FB:C9:45 (D-Link)
Nmap scan report for 192.168.0.6
ekzorchik@srv-mon:~$ sudo nmap -sP 192.168.0.1/24 | grep ‘MAC’ | awk »
Всё, конечно же, хорошо, но вот получаемый вывод без дополнительного форматирования не очень удобен для экспорта в программу Calc для последующей обработки, но задачу свою утилита nmap выполняет также хорошо.
В) Третьим способом это использование расширенной версии стандартной утилиты ping , а именно утилита fping которая проверяет доступность систем в сети путем отправки ICMP ECHO _ REQUEST пакетов, но с указанием нескольких узлов или тектового файла со списком узлов
ekzorchik@srv-host:~$ sudo apt-get install fping –y
Определить список хостов, которые находятся online в сети:
ekzorchik@srv-host:~$ fping -g 192.168.0.1/24 2>&1 | grep alive
192.168.0.1 is alive
192.168.0.2 is alive
192.168.0.3 is alive
192.168.0.5 is alive
192.168.0.6 is alive
Определить все живые хосты в сети и произвести их опрос на предмет, какой сетевой адаптер установлен на этой системе:
ekzorchik@srv-host:~$ fping -r0 -g 192.168.0.1/24 2>&1 | grep alive | arp –a
ekzorchik@srv-host:~$ fping -r0 -g 192.168.0.1/24 2>&1 | grep alive | arp -a | grep -v «incomplete»
npi04e51e (192.168.0.199) at bc:5f:f4:af:c6:c5 [ether] on eth0
? (192.168.0.130) at 00:09:45:58:04:be [ether] on eth0
constr-i7 (192.168.0.65) at 14:14:4b:1e:25:f9 [ether] on eth0
? (192.168.0.158) at 00:09:45:58:03:9e [ether] on eth0
ws13 (192.168.0.93) at 8c:89:a5:29:38:67 [ether] on eth0
meb-015 (192.168.0.154) at e0:cb:4e:82:95:0e [ether] on eth0
? (192.168.0.24) at d8:eb:97:d2:ae:c2 [ether] on eth0
? (192.168.0.89) at 00:09:45:59:27:ae [ether] on eth0
? (192.168.0.150) at 00:0b:82:25:75:9f [ether] on eth0
android-2c8fcfe7f74b52e1 (192.168.0.85) at a0:b3:cc:ca:07:71 [ether] on eth0
holml (192.168.0.146) at 00:0c:29:21:16:82 [ether] on eth0
, где значение наиболее нужных в пояснение ключей:
grep — v « incomplete « –> исключить из вывода строки содержащие слово “ incomplete ”
Также можно и так:
Определяем широковещательный адрес в сети:
ekzorchik@srv-phone:~$ ifconfig | grep «Bcast»
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
Делаем запрос к широковещательному адресу в сети:
ekzorchik@srv-phone:~$ pinb -b -c1 192.168.0.255
А теперь производим запрос к локальному кэшу для извлечения информации по IP адресам и их MAC адресам:
ekzorchik@srv-phone:~$ arp -a
? (192.168.0.89) at 00:09:45:59:27:ae [ether] on eth0
? (192.168.0.187) at 00:09:45:59:cb:96 [ether] on eth0
? (192.168.0.170) at 00:09:45:58:03:86 [ether] on eth0
? (192.168.0.62) at 34:08:04:16:31:36 [ether] on eth0
? (192.168.0.157) at 00:09:45:58:03:9c [ether] on eth0
client4 (192.168.0.66) at 00:09:45:5a:a3:4c [ether] on eth0
? (192.168.0.57) at 00:09:45:5a:f4:5e [ether] on eth0
tserver.dsplit.local (192.168.0.3) at 00:50:56:9c:25:c3 [ether] on eth0
c377a6442 (192.168.0.40) at 14:14:4b:b1:76:90 [ether] on eth0
pc (192.168.0.134) at 00:09:45:59:f8:16 [ether] on eth0
? (192.168.0.192) at f8:d1:11:88:21:1c [ether] on eth0
ws17 (192.168.0.175) at 00:09:45:58:04:c6 [ether] on eth0
npi05c1a0 (192.168.0.51) at 2c:44:fd:05:c1:a0 [ether] on eth0
? (192.168.0.158) at 00:09:45:58:03:9e [ether] on eth0
rpcws (192.168.0.182) at 00:09:45:5a:a2:64 [ether] on eth0
? (192.168.0.58) at 00:09:45:58:03:96 [ether] on eth0
Вывод: утилита также отрабатывает поставленную задачу, после конечно загруженный вывод в программу LibreOffice Calc позволит привести результаты к упорядоченному представлению.
Итак, из опробованных трех утилит я не могу выделить фаворита, потому используя каждую из них я получаю результаты наиболее подходящие для выполнения тех или иных задач.
На этом считаю, данную заметку завершенной, я добился решения поставленной задачи по первому пункту, второй же предусматривает тонкую настройку оборудования, посредством которого будет ограничиваться доступ, а это уже тема отдельной заметки. В последствии я, конечно же покажу, как я это делал. А пока все, с уважением – автор блога ekzorchik.
От ekzorchik
Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.
