- Поиск хоста по MAC-адресу
- [править] Задача
- [править] Таблица MAC-адресов на коммутаторе
- [править] Обнаружение новых хостов
- [править] OID таблицы MAC-адресов в разных коммутаторах
- [править] См. также
- Поиск по MAC-адресу
- Осуществление поиска по MAC-адресу
- Поиск IP-адреса по MAC-адресу
- Поиск производителя по MAC-адресу
- Поиск по MAC-адресу в роутере
- Как определить IP адрес по MAC адресу?
Поиск хоста по MAC-адресу
Поиск хоста по MAC адресу — задача поиска коммутатора и порта, к которому подключено сетевое устройство, MAC-адрес которого известен. Решение для управляемых коммутаторов описано ниже (не описано, а может быть будет описано когда-нибудь, а сейчас ниже просто его черновики).
[править] Задача
Необходимо по известному MAC-адресу хоста идентифицировать хост. Решение задачи в лоб, т.е. ведение базы данных MAC-адресов компьютеров сети вручную, не всегда эффективно (MAC-адрес может быть изменён, может использоваться гостевой компьютер и т.д.) и достаточно громоздко, поскольку требует сопровождения базы.
Для управляемых коммутаторов существует более простое и элегантное решение: узнать у самого коммутатора к какому его порту подключён хост с известным MAC-адресом.
Другая задача, которая имеет непосредственное отношение к этой — раздача DHCP-сервером IP-адресов основываясь на номерах портов коммутатора, к которым подключены хосты.
Можно находить хост даже в том случае, если он изменил MAC-адреса сетевой карты. Поиск порта коммутатора
После того как MAC-адрес устройства, выполнившего подмену известен, необходимо найти, сетевой карте какого компьютера он принадлежит.
Если база данных MAC-адресов сетевых карт не ведётся, простейший способ найти сетевую карту — опросить коммутатор. В том случае, если существует база данных MAC-адресов сетевых карт, с информацией о том, к какому порту коммутатора они подключены, можно попробовать найти сетевую карту с её помощью. Однако, MAC-адрес устройства могу быть подменён, и тогда поиск по базе данных не увенчается успехом. В этом случае также может помочь опрос коммутатора.
[править] Таблица MAC-адресов на коммутаторе
Точнее, они предоставляют две таблицы соответствия: таблицу соответствия MAC-адресов определённому числу-идентификатору и таблицу соответствия портов коммутатора этому же числу-идентификатору. После того как обе таблицы известны, достаточно их сопоставить, и определить, какому порту соответствует какой MAC-адрес.
собственно таблицы соответствия
Может быть и такое, что ни один MAC-адрес не соответствует порту, даже если к порту и подключён компьютер – это может произойти в том случае, если компьютер давно не отправлял пакеты, и информация о нём уже удалена из памяти коммутатора. По этой же причине, описываемый метод может не найти компьютер с определённым адресом.
Может быть и наоборот – одному порту соответствует множество адресов. Такая ситуация возможна в том случае, когда к порту подключён не один компьютер, а множество – через другой коммутатор или хаб.
Если коммутатор не один, и все они управляемые, то можно опросить все коммутаторы, и определить точно, какой порт какого коммутатора находится наиболее близко к искомой сетевой карте.
[править] Обнаружение новых хостов
В закрытых сетях, где новые сетевые устройства появляются редко, может иметь смысл задача автоматического обнаружения новых хостов в сети. Как только в сети появилось устройство с неизвестным MAC-адресом, администратору отправляется оповещение, содержащее максимум информации об устройстве.
Программа arpwatch ведет собственную базу данных MAC-адресов, и она самостоятельно может обнаруживать появление новых компьютеров. Однако, в том случае, если в сети работает несколько систем arpwatch одновременно, каждая из них будет заново обнаруживать хост с новым MAC-адресом, даже если остальные системы его уже обнаружили ранее.
про централизованную БД
Далее администратор решает, что делать с этим устройством. В том случае, если устройство появилось в сети законно, администратор может подтвердить его появление, что предотвратит появление новых сообщений, при повторном обнаружении устройства другими инсталляциями arpwatch.
Очевидно, метод будет работать и в том случае, если устройство просто изменило MAC-адрес на новый, отсутствовавший в сети ранее.
/usr/local/bin/syslog-ng-arpwatch
while read line do mac=»$(echo $line | grep ‘changed ethernet address’ | awk »)» [ -z «$mac»] && continue ( echo POSSIBLY ARP-SPOOFING FROM:; mac2port | grep «$mac» )| logger -t arp-spoofing done
Скрипт, который автоматически выключает порт коммутатора:
#!/bin/sh PATH=$PATH:/usr/local/bin shutport () < INT=$1; SWITCH=192.168.15.99; PASSWORD=procurve; ( sleep 5; echo $; sleep 1; echo; sleep 1; echo conf; sleep 1; echo int $INT disable; sleep 1; echo end; sleep 1; echo exit; sleep 1; echo exit; sleep 1; echo y ) | socat - EXEC:"ssh $",setsid,pty,ctty > main() < while read line do mac="$(echo $line | egrep 'changed ethernet address|reused old ethernet address' | awk '')" [ -z "$mac"] && continue port_line="$(mac2port | grep "$mac" )" port=$(echo $port_line | sed "s/.*->//") echo POSSIBLY ARP-SPOOFING FROM: $port_line | logger -t arp-spoofing shutport $port done > main
our $community = «public»; our $switch = «192.168.15.100»;
open(SNMP,»snmpwalk -On -OQ -v2c -c $community $switch .1.3.6.1.2.1.17.4.3.1.1|»)
chomp; s@.1.3.6.1.2.1.17.4.3.1.1@@; my ($oid, $mac) = split /=\s*/;
$_=$mac; s@"@@g; s@\s*$@@; s@ @:@g; s@(.)@\l\1@g; s@^0@@; s@:0@:@g; $mac_table=$oid;
open(SNMP,»snmpwalk -On -OQ -v2c -c $community $switch .1.3.6.1.2.1.17.4.3.1.2|»)
chomp; s@.1.3.6.1.2.1.17.4.3.1.2@@; my ($oid, $port) = split /=/; $ports_table=$port;
[править] OID таблицы MAC-адресов в разных коммутаторах
У других коммутаторов MAC-адреса хранятся в других местах дерева OID.
.1.3.6.1.4.1.655.5.5.1.4.1.1.1.2 .1.3.6.1.4.1.655.5.21.1.4.1.1.1.2
[править] См. также
- Получаем списки MAC-адресов на портах управляемых свичей в Zabbix
- Использование SNMP для поиска номера порта по MAC-адресу на коммутаторах Cisco Catalyst (Using SNMP to Find a Port Number from a MAC Address on a Catalyst Switch) — http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a00801c9199.shtml (англ.)
Канальный уровень | ||
---|---|---|
Основные понятия | Коммутация • MAC-адрес • Сетевой интерфейс • CAM-таблица • VLAN • Broadcast • Multicast • Unicast • ifconfig • QinQ | |
Петли коммутации и борьба с ними | ||
Ключевые понятия | Широковещательный шторм • Петля коммутации • Остовное дерево | |
Протоколы | STP • RSTP • MSTP • PVST • PVST+ | |
Настройка STP на | коммутаторах Cisco • коммутаторах ProCurve | |
Агрегирование каналов | ||
Ключевые понятия | Агрегирование каналов • EtherChannel | |
Протоколы | LACP • PAgP | |
Настройка в | Linux • FreeBSD • NetBSD • OpenBSD • Mac OS X • Solaris • Windows • маршрутизаторах Cisco • коммутаторах Cisco • коммутаторах ProCurve | |
Протокол ARP | ||
Ключевые понятия | Протокол ARP • ARP-таблица • Статический ARP • Proxy ARP | |
Программы | arp • arping • arp-sk • arpmap | |
Виртуальные и программные коммутаторы, мосты и сетевые интерфейсы | ||
Компоненты | tap-интерфейс • dummy-интерфейс • Мост в Linux • Мост в FreeBSD • vde • OpenVPN Bridge | |
Программы | brctl (man) • ebtables | |
Безопасность | ||
Программы и библиотеки | Wireshark • Scapy | |
MAC | MAC-spoofing • Port security • Поиск по MACу • MAC-spoofing в виртуальной машине | |
ARP | ARP-spoofing • ettercap • arpwatch (man) • remarp • Dynamic ARP Protection |
Поиск по MAC-адресу
Не все пользователи знают, что такое MAC-адрес устройства, однако он имеется у каждого оборудования, подключаемого к сети интернет. MAC-адресом называется физический идентификатор, присваиваемый каждому девайсу еще на стадии производства. Такие адреса не повторяются, поэтому по нему и можно определить само устройство, его производителя и сетевой IP. Именно на эту тему мы бы и хотели поговорить в нашей сегодняшней статье.
Осуществление поиска по MAC-адресу
Как уже было сказано выше, благодаря рассматриваемому нами идентификатору осуществляется определение разработчика и IP. Для выполнения этих процедур вам нужен только компьютер и некоторые дополнительные инструменты. Справится с поставленными действиями даже неопытный пользователь, однако мы бы хотели представить развернутые руководства, чтобы ни у кого не возникло трудностей.
Поиск IP-адреса по MAC-адресу
Начать хотелось бы с установления IP-адреса по MAC, поскольку с такой задачей сталкиваются почти все обладатели сетевого оборудования. Бывает так, что на руках имеется физический адрес, однако для подключения или нахождения девайса в группе нужен его сетевой номер. В таком случае и производится такое нахождение. Используется при этом только классическое приложение Windows «Командная строка» или специальный скрипт, исполняющий все действия автоматически. Если у вас появилась надобность задействовать именно такой тип поиска, советуем обратить внимание на инструкции, описанные в другой нашей статье по следующей ссылке.
Если же поиск устройства по IP не увенчался успехом, ознакомьтесь с отдельными материалами, где рассматриваются альтернативные методы поиска сетевого идентификатора девайса.
Поиск производителя по MAC-адресу
Первый вариант поиска был достаточно прост, ведь главным условием была только активная работа оборудования в сети. Для определения производителя через физический адрес не все зависит от самого пользователя. Сама компания-разработчик должна занести все данные в соответствующую базу, чтобы они стали доступны общественности. Только тогда специальные утилиты и онлайн-сервисы распознают производителя. Впрочем, подробную информацию на этот счет вы можете с легкостью прочитать далее. В указанном материале используется как метод с онлайн-сервисом, так и со специальным программным обеспечением.
Поиск по MAC-адресу в роутере
Как известно, у каждого роутера есть индивидуальный веб-интерфейс, где и осуществляется редактирование всех параметров, просмотр статистики и другой информации. Помимо всего, там же отображается список всех активных или ранее подключенных устройств. Среди всех данных присутствует и MAC-адрес. Благодаря этому можно достаточно легко определить название устройства, местоположение и IP. Производителей роутеров множество, поэтому мы за пример решили взять одну из моделей D-Link. Если же вы обладатель маршрутизатора от другой компании, постарайтесь найти те же пункты, детально изучив все компоненты в веб-интерфейсе.
Приведенные ниже инструкции могут использоваться только в том случае, если устройство уже было подключено к вашему роутеру. Если же соединение не производилось, такой поиск никогда не будет успешным.
- Запустите любой удобный веб-обозреватель и в строке поиска напишите 192.168.1.1 или 192.168.0.1 , чтобы перейти в веб-интерфейс.
- Введите логин и пароль для входа. Обычно по умолчанию обе формы имеют значение admin , однако каждый пользователь может собственноручно поменять это через веб-интерфейс.
- Для удобства смените язык на русский, чтобы было проще ориентироваться в названиях меню.
- В разделе «Статус» отыщите категорию «Сетевая статистика», где вы и увидите список всех соединенных девайсов. Отыщите там нужный MAC и определите IP-адрес, название устройства и его местоположение, если такой функционал предусмотрен разработчиками маршрутизатора.
Теперь вы знакомы с тремя разновидностями поиска по MAC-адресу. Предоставленные инструкции будут полезны всем тем пользователям, кто заинтересован в определении IP-адреса устройства или его производителя с помощью физического номера.
Как определить IP адрес по MAC адресу?
Ранее я уже писал статью на тему как определить MAC-адрес по IP-адресу компьютера. Сегодня я покажу обратный трюк — как определить IP-адреса устройства, если вам известен только MAC адрес.
Вопрос очень актуален, если у вас нет доступа к консоли DHCP сервера, а вы подключили новое устройство вроде принтера или IP-камеры к сети, и все что у вас есть – это наклейка на устройстве содержащая аппаратный адрес, а так же доступ в локальную сеть.
Итак, консольные команды в cmd для определения IP адреса устройства следующие:
for /L %a in (1,1,254) do @start /b ping 192.168.31.%a -n 2 > nul
— этой командой мы делаем опрос устройств в сети и наполняем таблицу ARP-кэша. В приведенном примере, команда пингует подсеть с адреса 192.168.31.1 по 192.168.31.254 с маской 255.255.255.0;
Затем исполняем команду просмотра ARP-кэша, с поиском нужного нам MAC адреса:
arp -a | find /i » 00-00-48-19-92-43″
Получаем ответ, аппаратный адрес найден в подсети, и соответствует IP 192.168.31.12:
Данный способ работает в любой версии ОС Windows, и не требует привилегий администратора.
Так же публикую текст bat-файл, вдруг кому-нибудь понадобится в виде пакетного файла mac2ip.bat вот его листинг:
@echo off if "%1" == "" echo no MAC address & exit /b 1 for /L %%a in (1,1,254) do @start /b ping 192.168.31.%%a -n 2 > nul ping 127.0.0.1 -n 3 > nul arp -a | find /i "%1"
После запускаем команду: mac2ip 00-00-48-19-92-43
Данный скрипт и команда работают только если узел отвечает на icmp запросы (или ping), если узел будет не доступен то IP адрес определить не удастся. Ну так же хочу сказать, что данный метод не является полноценным сканером, так как каждый раз вам требуется указывать подсеть для опроса, и да… Скрипт и команда будет работать только для сетей с маской 255.255.255.0.
На сегодня это всё! Если есть вопросы – задавайте в комментариях, подписывайтесь на обновления, делитесь статьей в социальных сетях.