Определить устройство по mac адресу

Прочитано: 2 244

Итак, перед Вами поставлена задача, провести соответствие устройств с их MAC адресами в локальной сети, как бы вы поступили? Вопрос номер два: а для чего все это нужно, таким образом, я преследую несколько целей:

  • Составить список всех зарегистрированных устройств
  • Настроить авторизацию в сети только тех устройств из первого списка, которые реально определяют те устройства, которые реально работают и я их знаю, в общем как то так, позже обобщу все-то чего я хочу добиться этим пунктом.

План исполнения поставленной задачи:

  1. Просканировать локальную сеть по маске, используемой на предприятии, но может быть, что машины закрыты фаерволом, поэтому нужно посылать arp request’ы.
  2. Посредством 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

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 ‘{print $3 $4}’

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.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 on eth0

? (192.168.0.130) at 00:09:45:58:04:be on eth0

constr-i7 (192.168.0.65) at 14:14:4b:1e:25:f9 on eth0

? (192.168.0.158) at 00:09:45:58:03:9e on eth0

ws13 (192.168.0.93) at 8c:89:a5:29:38:67 on eth0

meb-015 (192.168.0.154) at e0:cb:4e:82:95:0e on eth0

? (192.168.0.24) at d8:eb:97:d2:ae:c2 on eth0

? (192.168.0.89) at 00:09:45:59:27:ae on eth0

? (192.168.0.150) at 00:0b:82:25:75:9f on eth0

android-2c8fcfe7f74b52e1 (192.168.0.85) at a0:b3:cc:ca:07:71 on eth0

holml (192.168.0.146) at 00:0c:29:21:16:82 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 on eth0

? (192.168.0.187) at 00:09:45:59:cb:96 on eth0

? (192.168.0.170) at 00:09:45:58:03:86 on eth0

? (192.168.0.62) at 34:08:04:16:31:36 on eth0

? (192.168.0.157) at 00:09:45:58:03:9c on eth0

client4 (192.168.0.66) at 00:09:45:5a:a3:4c on eth0

? (192.168.0.57) at 00:09:45:5a:f4:5e on eth0

tserver.dsplit.local (192.168.0.3) at 00:50:56:9c:25:c3 on eth0

c377a6442 (192.168.0.40) at 14:14:4b:b1:76:90 on eth0

pc (192.168.0.134) at 00:09:45:59:f8:16 on eth0

? (192.168.0.192) at f8:d1:11:88:21:1c on eth0

ws17 (192.168.0.175) at 00:09:45:58:04:c6 on eth0

npi05c1a0 (192.168.0.51) at 2c:44:fd:05:c1:a0 on eth0

? (192.168.0.158) at 00:09:45:58:03:9e on eth0

rpcws (192.168.0.182) at 00:09:45:5a:a2:64 on eth0

? (192.168.0.58) at 00:09:45:58:03:96 on eth0

Вывод: утилита также отрабатывает поставленную задачу, после конечно загруженный вывод в программу LibreOffice Calc позволит привести результаты к упорядоченному представлению.

Итак, из опробованных трех утилит я не могу выделить фаворита, потому используя каждую из них я получаю результаты наиболее подходящие для выполнения тех или иных задач.

На этом считаю, данную заметку завершенной, я добился решения поставленной задачи по первому пункту, второй же предусматривает тонкую настройку оборудования, посредством которого будет ограничиваться доступ, а это уже тема отдельной заметки. В последствии я, конечно же покажу, как я это делал. А пока все, с уважением – автор блога ekzorchik.

Как найти устройство в сети с помощью MAC-адреса?

Теперь вы знаете номер VLAN, которая будет полезна при разборе полетов чуть позже.

Надеюсь что IP-адрес будет на подключенном маршруте, что значительно упростит вещи. Если он находится на статическом или известном маршруте, вам останется отследить шлюз, на который уходит IP-адрес. Затем вам нужно поработать на этом устройстве чтобы отследить дальше. И кто знает, будете ли вы иметь к нему доступ. Надеюсь что доступ будет, и не придется никого беспокоить.

Во всяком случае, как только вы знаете маршрут и VLAN, вы можете перейти к поиску MAC-адреса. На самом деле вы можете начать здесь. Но важно понимать как работает сеть и там ли вы смотрите в первую очередь. Если вы не видите сеть, куда подключено устройство — вам нужно будет добраться до шлюза устройства. Или вы никогда не получите MAC-адрес без дополнительной помощи и исследований.

Выполните следующую команду:

  1. sh ip arp xxx.xxx.xxx.xxx

Ответ будет примерно таким:

  1. Protocol Address Age (min) Hardware Addr Type Interface
  2. Internet xxx.xxx.xxx.xxx 2 000c.2ce2.4537 ARPA Vlan624

Теперь вы знаете MAC-адрес устройства (он также называемый аппаратным адресом).

Отсюда вам нужно перейти к работе над коммутатором. Если вы уже находитесь на коммутаторе уровня 3, то можно смело продолжать.

На большинстве коммутаторов Cisco IOS можно выполнить команду:

  1. sh mac address—table address 000c.2ce2.4537

В ответ получите примерно такое:

Теперь мы знаем, что наш коммутатор узнал, что MAC-адрес, который мы хотим. И что он получен динамически. То есть устройство недавно слало пакеты на Порту GigabitEthernet 3/1. Что означает слот 3, порт 1. Как раз то, что мы и искали.

Отсюда, мы либо смотрим на конфигурацию этого порта с помощью команды:

  1. show run interface Gi3/1

Эта команда может рассказать нам больше об устройстве на этом порту:

Последние штрихи

Например, на этом порту есть нормальное описание, что он ведет к серверу. Который в свою очередь принадлежит конкретному человеку, в стойке 4-8, порту C в RMU 28 (28 юнитов от вершины стойки). Это позволяет нам пойти прямо к стойке и найти сервер. Затем использовать KVM через IP или систему IPM. Или удаленный рабочий стол, SSH или что-то еще, чтобы войти в сервер и исправить все, что там не так.

Если у вас нет описаний на портах в вашей конфигурации коммутатора, вам нужно будет отследить кабель от порта Gi3/1 до того места, куда он идет. Надеюсь, вы пометили свои кабели и порты коммутационной панели. 😉 Если не так — то придется поискать как следует. В результате вы найдете нужное устройство и сможете решить на нем проблему. Вот как найти устройство в сети с помощью MAC-адреса. Довольно просто, когда понимаешь порядок действий.

Как найти устройство в сети с помощью MAC-адреса через вай фай роутер?

Теперь вы также можете отслеживать MAC-адрес точки доступа Wi-Fi. В этом случае вы можете выполнить ту же процедуру, но в конечном итоге получите порт коммутатора, который подключается к точке доступа. И как раз там устройство под вопросом подключено или было подключено совсем недавно. Надеюсь, вы можете войти в эту точку доступа и увидеть больше информации о рассматриваемом устройстве. Роутер может сказать вам имя устройства (diPhone или что-то подобное), или вы можете по крайней мере запретить MAC-адрес в сети Wi-Fi или точке доступа. И затем посмотреть, кто кто придет и начнет жаловаться на отсутствие wifi.

Теперь… если вы надеялись, что каким-то образом вы можете «взломать» что-то или разыскать человека в Бутово, зная их MAC-адрес, который вы нарыли… каким-то образом…
Знайте, этого не случится. 🙂 Везде нужен доступ.

Составление диапазонов IP

  • Все IP населённого пункта (области, города)
  • Все IP страны
  • Все IP провайдера
  • Все IP континента

Узнать информацию о себе

  • Узнать свой IP
  • Узнать свой User Agent

Сбор информации

  • Узнать информацию об IP
  • Узнать информацию об IPv6
  • whois об IP или о сайте
  • Определение системы управления сайтом (CMS)
  • Разнообразная информация о сайтах
  • Похожие доменные имена
  • Сайты на одном IP
  • Узнать IP сайта
  • История IP адресов сайта
  • Посмотреть все DNS записи сайта
  • HTTP заголовки ответа
  • Проверка, где «засветился» адрес электронной почты
  • Поиск профилей по нику пользователя
  • Поиск профилей по полным именам и другой информации
  • Проверка зарегистрированных доменов в разных зонах

Извлечение информации из кэша и веб архивов

  • Показ страницы из кэша Гугл
  • Одновременный поиск по нескольким веб архивам

Обход запрета показа исходного HTML кода, обход социальных блокировщиков

  • Сервис обхода блокировок просмотра исходного кода страницы
  • Обход социальных блокировщиков

Продвинутое использование поисковых систем

  • Продвинутый поиск в Гугл

AdSense сервисы

  • Проверка сайтов на бан AdSense

Инструменты противодействия CloudFlare

  • Проверка сайт на CloudFlare
  • Раскрытие реального IP сайта за сетью CloudFlare, используя неправильно настроенные DNS и базу данных старых записей

Изображения и метаданные

  • Узнать где сделана фотография
  • Метаданные файла
  • Скриншот веб-сайта

Информация о номерах телефонов

  • Узнать оператора и город по номеру
  • Узнать все номера телефонов оператора и города
  • Международные телефонные коды

Сканеры уязвимостей веб-сайтов

  • Сканирование WordPress на уязвимости
  • Проверка сайта на sql инъекции
  • Проверка Drupal, SilverStripe и WordPress

Сканеры уязвимостей, открытых портов и запущенных служб веб-серверов

  • Сканирование сервера (Nikto)
  • Сканирование открытых портов и запущенных служб онлайн (Nmap)
  • Продвинутые сканирования Nmap онлайн
  • Тестирование шифрования TLS/SSL
  • Сканер заголовков ответа HTTP на безопасность

Субдомены и скрытые файлы

  • Поиск всех субдоменов сайта

Получение информации по MAC-адресам

  • Определение производителя устройства по MAC-адресу

Анализ работы веб-сервера

  • Анализ логов Apache
  • Пинг веб-сервера или веб-сайта
  • Трассировка до веб-сервера или веб-сайта

Работа с хешами

  • Определение типа хеша

Анализ электронных писем

  • Извлечение всей информации из e-mail письма

Анализ исполнимых файлов

  • Извлечение всех строк из исполнимого файла
  • Показать информацию об исполнимом файле

Парсинг прокси

  • Прокси с сайта hidemyna.me
  • Прокси с сайта spys.one
  • Прокси с сайта gatherproxy.com

Сторонние сервисы

  • Конвертация Дзен канала в RSS ленту

Служебные страницы

  • Использование ресурсов сервера
  • Поиск по базе IP без очистки
  • Донат

Лучший хостинг Рунета:

  • Заказать хостинг
  • Регистрация доменов
  • Тарифы на хостинг