Могу ли я использовать nmap для обнаружения IP-адресов и mac-адресов?

11

Когда мне нужно найти IP-адреса устройств по их mac-адресу в системе Windows, я обычно использую Advanced IP Scanner (от radmin.com) для сканирования сети, затем я использую arp -a для просмотра списка MAC-адресов.

Можно ли использовать nmap для выполнения той же функции в Linux и, возможно, в Windows? Может ли nmap сканировать и выдавать как IP-адреса, так и MAC-адреса?

Я пробовал arp -a в Linux, но, похоже, он не работает так же быстро, как в Windows, или требует некоторого использования.

/ vfclists

vfclists
источник
nmap -sP 192.168.1.1/24
Ираклис

Ответы:

6

Вы можете использовать Ping-сканы, которые начинаются с P-флага. Тем не менее, я лично использую -sL для этой работы.

http://nmap.org/book/man-host-discovery.html

Shyam
источник
5
+1 Я тоже использую -sP. Но обратите внимание, чтобы получить MAC-адреса, вы должны находиться на одной и той же локальной сети (между ними нет маршрутизаторов).
PiL
1
Я протестировал с опцией -sP, и это именно то, что я ищу, благодаря Пьеру и Ираклису. Он предназначен для сканирования элементов, получающих свои IP-адреса через DHCP или статические данные в локальной сети.
vfclists
13

Используя nmap, можно найти много информации.

nmap -A -v -v 192.168.1.0/24 дает много информации, даже в некоторых случаях ТАК

nmap -sn 192.168.1.0/24дает MAC и IP-адреса. Очень полезно тоже

sudo nmap -PU 192.168.1.0/24 объясняет каждый IP-адрес

AAlvz
источник
5
В соответствии с Nmap страницы человека, -sPв настоящее время известно как-sn
Аластер Маккормак
8

Следующая команда с nmap с правами суперпользователя (или с использованием sudo ):

sudo nmap -sP 172.31.201.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "$3;}' | sort

результаты в:

172.31.201.80 => 00:50:56:AF:56:FB
172.31.201.97 => 00:26:73:78:51:42
server1.company.internal.local => 3C:D9:2B:70:BC:99
...
Антонио Сако
источник
1
Это склеивает линии много. Другой ответ лучше: serverfault.com/a/669862/284568 .
Велкан
2
@Velkan В другом ответе отсутствует sudo, а также дайте мне только IP: MAC, этот ответ даст вам IP / hostname: MAC, все зависит от ваших потребностей. Благодарность!
Антонио Сако
Спасибо за разъяснение, что ему нужны привилегии root.
mszmurlo
7

Эта команда сканирует все IP-адреса в диапазоне и показывает MAC-адрес каждого IP-адреса. Это делается в формате greppable или другими словами; отображает IP и MAC-адрес в одной строке. Это удобно, если вы хотите экспортировать в Excel или запустить grep.

nmap -n -sP 10.0.3.0/24 | awk '/Nmap scan report/{printf $5;printf " ";getline;getline;print $3;}'

Кажется, он также работает для IP / MAC, которых еще нет в таблице ARP хостов. Это хорошая вещь.

Команда приводит к:

10.0.3.100 B8:27:EB:8E:C5:51
10.0.3.101 00:26:B6:E1:4B:EB
10.0.3.112 00:01:29:02:55:25
etc..
Джаспер
источник
Для дальнейшего использования -oG -или аналогичного анализа его будет гораздо проще разобрать.
Дункан Х Симпсон
Как выясняется, в аренду -oGне сохраняются mac-адреса. WTF?
Дункан Х Симпсон
0

Добавление к ответу Антонио Сако. Я хотел также перечислить поставщика и на выходе. Для этого вы хотите напечатать третий индекс (MAC-адрес) до конца строки.

sudo nmap -sn 10.10.10.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "substr($0, index($0,$3)) }' | sort

Результаты в:

10.10.10.24 => B0:5A:DA:EB:2A:C4 (Hewlett Packard)
DDI Guy
источник