Как Nmap определяет MAC-адрес?

864
Albert Zhang

Здесь я нахожу интересное явление: я получаю разные MAC-адреса, используя разные параметры Nmap.

В моей операционной системе Kali я nmap -sS 192.168.1.4печатаю «полуоткрытое» сканирование.

 Starting Nmap 7.70( https://nmap.org ) at 2018-07-04 12:38 UTC Nmap scan report for 192.168.1.4 Host shown: 999 closed ports PORT STATE unknown 49159/tcp open unknown MAC Address: 94:XX:XX:XX:XX:XX (Tp-link Technologies) 

затем я печатаю, nmap -O 192.168.1.4чтобы обнаружить ОС цели.

 Starting Nmap 7.70( https://nmap.org ) at 2018-07-04 12:39 UTC Nmap scan report for 192.168.1.4 Host shown: 999 closed ports PORT STATE SERVICE 49159/tcp open unknown MAC Address: 18:XX:XX:XX:XX:XX( Apple ) 

Как видите, у меня два разных MAC-адреса!

Интересно, почему это происходит, и какую технологию Nmap использует для обнаружения ОС?

0
Есть ли в вашей сети беспроводные ретрансляторы, удлинители или тому подобное? (В основном тот тип, который подключается по беспроводной сети к другому маршрутизатору.) grawity 5 лет назад 1

2 ответа на вопрос

1
Aaron Garton

Возможно, удаленный компьютер 192.168.1.4имеет несколько сетевых карт. Это может вызвать проблемы, так как каждый NIC имеет свой MAC-адрес, и ответ может быть отправлен с разных NIC. Или, поскольку каждый сетевой адаптер, например, Wi-Fi и Ethernet, имеет разные MAC-адреса, возможно, удаленное устройство использовало соединение Wi-Fi, а затем изменило соединение на Ethernet (или наоборот).

Что касается обнаружения ОС, nmap отправляет пакеты TCP и UDP на удаленный хост и анализирует каждую часть ответного пакета и, основываясь на полях в пакете, сопоставляет его с известными значениями. Более подробную информацию об этом можно найти на странице обнаружения ОС nmap.

0
bonsaiviking

Nmap использует анализ пакетов для обнаружения ответов на свои зонды для обнаружения хоста, сканирования портов и обнаружения ОС. Каждый раз, когда получен действительный ответ (то есть тот, который, вероятно, пришел от цели), и в нем есть MAC-адрес, адрес записывается. Это означает, что если разные зонды получают разные ответы, может быть указан другой MAC-адрес. Это очень необычное обстоятельство, так как целевой MAC будет одинаковым в каждом случае. Поскольку фаза обнаружения ОС запускается позже, чем фаза сканирования портов, может показаться, что эти тесты (в основном отправляемые на открытые порты) получают ответы, отличные от последних тестов, отправленных на этапе сканирования портов.

Вы можете использовать один или другой результат, используя --send-ethопцию. Некоторые платформы способны отправлять как необработанные Ethernet, так и необработанные IP-пакеты, и принудительное построение кадра Ethernet --send-ethможет заблокировать один MAC-адрес и гарантировать, что ответы от другого не будут зарегистрированы. Это немного умозрительно, так как я не отслеживал это конкретное взаимодействие через исходный код.

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