Хотя Nmap известен именно как сканер портов, это также отличный инструмент для обнаружения машин в сети. Его можно натравить на любое количество хостов и буквально за несколько секунд получить результат пинга тысяч хостов. Вот только пингует хосты он совсем не так, как всем известная утилита ping. По умолчанию перед началом сканирования портов Nmap посылает несколько пакетов, чтобы удостовериться в доступности хоста:
- ICMP Echo request — аналог того, как работает ping;
- SYN-пакет на порт 443;
- ACK-пакет на порт 80;
- ICMP timestamp request.
Так много способов проверки необходимы для обхода брандмауэров и ситуаций, когда, например, в ОС или сетевом оборудовании включен запрет отвечать на запросы ICMP Echo (сегодня это частая практика).
Проверку доступности легко отключить, используя опцию -PN, о чем сам Nmap сообщит, если не сможет удостовериться в доступности порта:
1 |
$ sudo nmap -PN 192.168.0.1 |
Обычно в этом мало смысла, а вот обратная операция, то есть отключение сканера портов, очень даже полезна для проверки доступности множества хостов:
1 |
$ sudo nmap -sn 192.168.0.1-255 |
Эта команда заставит Nmap просканировать адреса с 192.168.0.1 по 192.168.0.255. Ее более удобный аналог:
1 |
$ sudo nmap -sn 192.168.0.* |
А так можно попросить Nmap просканировать всю подсеть:
1 |
$ sudo nmap -sn 192.168.0.0/24 |
Ну или записать необходимые адреса в файл и попросить просканировать их:
1 |
$ sudo nmap -sn -iL /путь/до/файла |
Если опустить флаг -sn, Nmap будет не просто проверять доступность хостов, но еще и сканировать порты.
Самих техник пингования также довольно много. Nmap поддерживает определение доступности хоста с помощью посылки SYN-пакета на указанный порт:
1 |
$ sudo nmap -sn -PS80 192.168.0.1 |
ACK-пакета:
1 |
$ sudo nmap -sn -PA80 192.168.0.1 |
UDP-пакета:
1 |
$ sudo nmap -sn -PU53 192.168.0.1 |
ICMP Echo request:
1 |
$ sudo nmap -sn -PE 192.168.0.1 |
ICMP timestamp:
1 |
$ sudo nmap -sn -PP 192.168.0.1 |
Все их можно комбинировать:
1 |
$ sudo nmap -sn -PE -PS443 -PA80 -PP 192.168.0.1 |
Вас также может заинтересовать статья «Скрытое сканирование хостов Nmap».