2012-05-17 11 views
1

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

nmap -A -O 192.168.1.0/24 -oX mynetwork.xml 
+2

Stack Overflow - это сайт для вопросов программирования и развития. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше сказать [Суперпользователь] (http://superuser.com/) или [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). – jww

ответ

7

Nmap может только получить адрес MAC при сканировании хостов в локальной подсети, непосредственно достижим через слой 2 (Ethernet или Wi-Fi). Когда вы сканируете хосты по маршрутизатору (шлюз по умолчанию), ваш хост сканирования будет разговаривать с маршрутизатором на уровне 2 при отправке/получении пакетов уровня 3, и, таким образом, Nmap сможет видеть только MAC-адрес маршрутизатора, но не адрес назначения MAC-адрес хоста.

(Хотя при определенных обстоятельствах технически возможно определить MAC-адрес нелокального хоста через протоколы, такие как NetBIOS, SNMP и т. Д., И для этой цели есть NSE-скрипты, Nmap обычно не делает этого.)

+0

Есть ли сценарий Nmap, который делает то, что вы сказали в последнем предложении? Я имею в виду, что я понимаю проблему слоя, но кажется странным, что я могу найти удаленную ОС хоста, а не его MAC-адрес. – raz3r

+0

Обнаружение ОС зависит от характеристик уровня 3 и 4 уровня хоста, таких как параметры, начальные значения и флаги, которые содержат заголовки IP и TCP. Что касается скриптов, см., Например, http://nmap.org/nsedoc/scripts/nbstat.html –

+0

Я смотрел тот же скрипт, на самом деле он работал, и я получил MAC-адрес, слишком плохо, что должен быть запущен сервис netbios на целевом хосте :( – raz3r

11

MAC-адрес отображается только в том случае, если сканирование выполняется с правами root, поэтому обязательно используйте sudo. В качестве диагностического шага попробуйте выполнить простую развертку ping (sudo nmap -sn 192.168.1.0/24), затем сразу же проверьте свой кеш ARP (arp -an). Если вы не видите много <incomplete> s, то Nmap не сканирует вашу подсеть должным образом. Если вы видите 256 <incomplete> и никаких MAC-адресов, то что-то не так с вашей настройкой сети, так как вы не видите ответы ARP на запросы, которые генерирует Nmap.

+0

Я думаю, что Даниэль прав, я не вижу ни одного , на самом деле я уже пробовал до того, как arp и tcpdump не повезло. TCPDump подтверждает гипотезу, потому что он видит только MAC-адрес шлюза по умолчанию на ICMP пакеты – raz3r

+0

Выполнение простой прокрутки ping (с использованием 'nmap -sn ') не требует root, поэтому no 'sudo' там не нужен – villapx

+0

Выполнение простой развертки ping (с использованием' nmap -sn ') не требует root , поэтому никакого 'sudo' не нужно там – villapx

0

У меня также отсутствовала информация о MAC-адресе и поставщике с версией 5.61TEST5, но я только что установил версию 6.00, и все, кажется, снова работает, поэтому вы можете попробовать это сейчас.

+0

Я дам ему попробовать завтра, спасибо за информацию! – raz3r

+0

Я пробовал Nmap 6 вчера, но все еще не повезло, когда я получал адреса mac через VPN :( – raz3r