Программное обеспечение

да хрен с ней с прерываниями а вот с адресами устройств это главное

Никита Хорс
Никита Хорс
43 003
щас все баллы просрёшь
Получить все MAC адреса устройств в локальной сети
Опубликовано 15/05/2015
Итак, перед Вами поставлена задача, провести соответствие устройств с их 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 — 0xb

адрес в Интернете Физический адрес Тип

192.168.0.1 00-15-5d-0a-06-00 динамический -> вот это и есть MAC адрес устройства, где первые 6 байт: 00-15-5d это идентификатор производителя, вычисляется он по полной базе (Задача: прикрутить к скрипту опознавание кто это), а следующие 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

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:
ДС
Дмитрий Солодихин
22 703
Лучший ответ
Никита Хорс ну и ты даёшь и зачем это тебе
а не просче бы было просто аппаратные
выдал наше дело как за 30 серебряников

Похожие вопросы