Получить все MAC адреса устройств в локальной сети. Итак, перед Вами поставлена задача, провести соответствие устройств с их MAC адресами в локальной сети, как бы вы поступили? Вопрос номер два: а для чего все это нужно, таким образом, я преследую несколько целей:. Составить список всех зарегистрированных устройств. Настроить авторизацию в сети только тех устройств из первого списка, которые реально определяют те устройства, которые реально работают и я их знаю, в общем как то так, позже обобщу все-то чего я хочу добиться этим пунктом. План исполнения поставленной задачи:. Просканировать локальную сеть по маске, используемой на предприятии, но может быть, что машины закрыты фаерволом, поэтому нужно посылать arp request ’ы. Посредством ARP запрос проверить каждый узел сети на получение его MAC адреса, уникального идентификатора устройства.
Название Nmap это сокращение от “network mapper”, сам nmap это набор сканирования, домашнего компьютера с запущенной Ubuntu 9.10: ограничение сканирования узлов своей локальной сети или тех для. Сканер локальной сети на QT, сканирует smb, ftp, http ресурсы. Ubuntu 15.10 «Wily Werewolf». [22/10/2015. Обзор ресурсов в сети.
MAC адрес – это, к примеру:. C:Usersekzorchik>ping -n 1 192.
168. Обмен пакетами с 192.
Ubuntu *Pack ✓ сканирование сети на предмет активных хостов; ✓ сканирование по ✓просмотр открытых портов на компьютерах в локальной сети;. Такое сканирование достаточно для локальных сетей, но для исследования безопасности необходимо использовать более сложные наборы запросов. Заметка о утилите nmap для сканирования сети на предмет доступных хостов и открытых портов. Установка под Ubuntu sudo apt-get Для определения открытых портов на локальной машине нужно выполнить.
168. 1 по с 32 байтами данных:. Ответ от 192.
168. 1: число байт=32 время=2мс TTL =128. C:Usersekzorchik>arp -a 192. 168.
Интерфейс: 192. 168. 186 — 0 xb. адрес в Интернете Физический адрес Тип. 192.
168.
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.
1 with 256 hosts ( n/). 192. 168.
1 00:15:5d:0a:06:00 Microsoft Corporation. 192. 168. 2 00:15:5d:0a:06:01 Microsoft Corporation. 192.
168. 3 00:50:56:9c:25:c3 VMware, Inc. 192. 168.
5 00:21:91:fb:c9:45 D-Link Corporation. 192. 168. 6 00:22:64:0a:e0:e8 Hewlett Packard. 192.
168.
7 00:15:17:fa:a6:ac Intel Corporate. 192. 168. 9 00:15:5d:0a:06:0d Microsoft Corporation. 192. 168.
10 00:0c:29:34:c4:b4 VMware, Inc. 192. 168. 11 00:0c:29:c2:ee:15 VMware, Inc. 192.
168. 12 d8:eb:97:d0:5d:0d (Unknown). Здесь я прерываю список, т.
он очень большой, что теперь я могу сделать:. Сохранить его в txt. Открыть в программе LibreOffice Calc и произвести с ним некоторое форматирование, добавив такие колонки, как: Сервис на этом IP адресе, местонахождение устройства.
На заметку: Также можно использовать данную утилиту не для всего пула устройства в сети, а для конкретных IP адресов:. ekzorchik@srv-host:. $ sudo arp-scan --interface=eth0 192. 168.
1 192.
168.
20 192. 168.
10. Interface: eth0, datalink type: EN10MB (Ethernet). Starting arp-scan 1. 1 with 3 hosts (. 192.
168.
20 00:15:17:73:be:84 Intel Corporate. 192. 168.
1 00:15:5d:0a:06:00 Microsoft Corporation. 192. 168.
10 00:0c:29:34:c4:b4 VMware, Inc. 6 packets received by filter, 0 packets dropped by kernel. Ending arp-scan 1.
1: 3 hosts scanned in 0. 106 seconds (28. 30 hosts/sec). 3 responded. $ sudo arp-scan --interface=eth0 192. 168.
0:255. 255.
255. Просканировать локальную сеть, огранив результаты, указанным диапозоном IP адресов:. ekzorchik@srv-host:.
$ sudo arp-scan --interface=eth0 192. 168. 1-192. 168.
10. Interface: eth0, datalink type: EN10MB (Ethernet).
Starting arp-scan 1. 1 with 10 hosts (.
192. 168. 1 00:15:5d:0a:06:00 Microsoft Corporation.
192. 168. 2 00:15:5d:0a:06:01 Microsoft Corporation.
192. 168. 3 00:50:56:9c:25:c3 VMware, Inc. 192.
168. 6 00:22:64:0a:e0:e8 Hewlett Packard. 192.
168. 5 00:21:91:fb:c9:45 D-Link Corporation. 192.
168.
7 00:15:17:fa:a6:ac Intel Corporate. 192. 168.
9 00:15:5d:0a:06:0d Microsoft Corporation. 192. 168. 10 00:0c:29:34:c4:b4 VMware, Inc.
11 packets received by filter, 0 packets dropped by kernel. Ending arp-scan 1.
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. 192.
168. 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.
10. 192. 168. 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.
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.
* head -n 20. Starting Nmap 5.
21 ( ) at 2015-02-09 09:34 MSK. Nmap scan report for server. dsplit. local (192. 168.
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. 2).
Host is up (0. 0027s latency). MAC Address: 00:15:5D:0A:06:01 (Microsoft). ekzorchik@srv-mon:. $ sudo nmap -sP 192. 168.
1/24 grep 'MAC' awk ''.
00:15:5D:0A:06:00(Microsoft). 00:15:5D:0A:06:01(Microsoft). 00:50:56:9C:25:C3(VMware).
00:21:91:FB:C9:45(D-Link). 00:22:64:0A:E0:E8(Hewlett. 00:15:17:FA:A6:AC(Intel. 00:15:5D:0A:06:0D(Microsoft). Всё, конечно же, хорошо, но вот получаемый вывод без дополнительного форматирования не очень удобен для экспорта в программу Calc для последующей обработки, но задачу свою утилита nmap выполняет также хорошо. В) Третьим способом это использование расширенной версии стандартной утилиты ping , а именно утилита fping которая проверяет доступность систем в сети путем отправки ICMP ECHO _ REQUEST пакетов, но с указанием нескольких узлов или тектового файла со списком узлов.
ekzorchik@srv-host:. $ sudo apt-get install fping –y. Определить список хостов, которые находятся online в сети:. ekzorchik@srv-host:. $ fping -g 192. 168.
1/24 2>&1 grep alive. 192. 168. 1 is alive. 192.
168. 2 is alive. 192. 168.
5 is alive. 192. 168.
6 is alive. Определить все живые хосты в сети и произвести их опрос на предмет, какой сетевой адаптер установлен на этой системе:. $ fping -r0 -g 192.
168. 1/24 2>&1 grep alive arp –a. ekzorchik@srv-host:. $ fping -r0 -g 192. 168.
1/24 2>&1 grep alive arp -a grep -v "incomplete". npi04e51e (192. 168.
199) at bc:5f:f4:af:c6:c5 [ether] on eth0. (192.
168.
130) at 00:09:45:58:04:be [ether] on eth0. constr-i7 (192. 168.
65) at 14:14:4b:1e:25:f9 [ether] on eth0.
(192. 168. 158) at 00:09:45:58:03:9e [ether] on eth0.
ws13 (192. 168. 93) at 8c:89:a5:29:38:67 [ether] on eth0. meb-015 (192. 168.
154) at e0:cb:4e:82:95:0e [ether] on eth0. (192. 168. 24) at d8:eb:97:d2:ae:c2 [ether] on eth0.
(192. 168. 89) at 00:09:45:59:27:ae [ether] on eth0.
(192. 168.
150) at 00:0b:82:25:75:9f [ether] on eth0. android-2c8fcfe7f74b52e1 (192. 168. 85) at a0:b3:cc:ca:07:71 [ether] on eth0. holml (192. 168.
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. 10 Bcast:192. 168. 255 Mask:255. 255.
255. Делаем запрос к широковещательному адресу в сети:. ekzorchik@srv-phone:.
$ pinb -b -c1 192. 168.
255. А теперь производим запрос к локальному кэшу для извлечения информации по IP адресам и их MAC адресам:. (192. 168.
89) at 00:09:45:59:27:ae [ether] on eth0. (192.
168. 187) at 00:09:45:59:cb:96 [ether] on eth0.
(192. 168.
170) at 00:09:45:58:03:86 [ether] on eth0. (192. 168.
62) at 34:08:04:16:31:36 [ether] on eth0.
(192. 168. 157) at 00:09:45:58:03:9c [ether] on eth0.
client4 (192. 168.
66) at 00:09:45:5a:a3:4c [ether] on eth0.
(192. 168.
57) at 00:09:45:5a:f4:5e [ether] on eth0. tserver. dsplit. local (192.
168. 3) at 00:50:56:9c:25:c3 [ether] on eth0. c377a6442 (192.
168. 40) at 14:14:4b:b1:76:90 [ether] on eth0. pc (192. 168.
134) at 00:09:45:59:f8:16 [ether] on eth0. (192. 168.
192) at f8:d1:11:88:21:1c [ether] on eth0.
ws17 (192. 168.
175) at 00:09:45:58:04:c6 [ether] on eth0. npi05c1a0 (192. 168.
51) at 2c:44:fd:05:c1:a0 [ether] on eth0. (192.
168. 158) at 00:09:45:58:03:9e [ether] on eth0. rpcws (192.
168. 182) at 00:09:45:5a:a2:64 [ether] on eth0.
(192.
168. 58) at 00:09:45:58:03:96 [ether] on eth0. Вывод: утилита также отрабатывает поставленную задачу, после конечно загруженный вывод в программу LibreOffice Calc позволит привести результаты к упорядоченному представлению. Итак, из опробованных трех утилит я не могу выделить фаворита, потому используя каждую из них я получаю результаты наиболее подходящие для выполнения тех или иных задач. На этом считаю, данную заметку завершенной, я добился решения поставленной задачи по первому пункту, второй же предусматривает тонкую настройку оборудования, посредством которого будет ограничиваться доступ, а это уже тема отдельной заметки.
В последствии я, конечно же покажу, как я это делал. А пока все, с уважением – автор блога ekzorchik. Получить все MAC адреса устройств в локальной сети.
Один комментарий. JTProg говорит 15/05/2015 в 20:04.