Сканирование сетевых устройств

Сканирование сетевых устройств

Есть ли способ сканировать компьютеры в сети через командную строку и получать их IP, MAC и DNS-имена, ничего о них не зная?

решение1

nmap -v -sn 192.168.1.0/24 | grep -v down

ps. конечно, вы можете изменить настройки подсети по своему усмотрению.
pps. в зависимости от версии nmap отображается или нет mac-адрес. 5.21+ (debian testing+) отображает. 5.0 (в настоящее время в стабильной версии Debian) — нет.

решение2

arp -aсбросит всю эту информацию без необходимости установки nmap. Однако, nmapвыполняет активное сканирование, поэтому будет более актуальной.

решение3

Если вы действительно не имеете ни малейшего понятия, вам следует сначала пассивно послушать сеть. Локальные сети довольно болтливы, и в основном пакет отправляется всем сетевым устройствам. Разложив слои пакетов, вы можете многое узнать о топологии. Будьте осторожны, иногда это вообще невозможно, это зависит от сети.

Например:

Кадры Ethernet предоставляют вам адреса Ethernet.

ARP (протокол разрешения адресов) связывает адрес Ethernet с сетевым адресом и дает неявные подсказки о связях между сетевыми устройствами.

IP (интернет-протокол) устанавливает связь между двумя хостами с IP-адресами.

TCP (протокол управления передачей) дает вам представление о том, какие службы (порты) активны и какие компьютеры обмениваются данными друг с другом.

UDP (протокол пользовательских датаграмм) дает ту же информацию, что и TCP. На самом деле вы можете узнать больше, чем просто выполнить активное сканирование.

Вы можете использовать tcpdump или использовать библиотеку pcap, если вы хотите найти конкретную информацию. Я сделалнебольшой примерна perl. Он выводит все аппаратные адреса, сетевые адреса, порты tcp и udp.

Связанный контент