Nmap -sn: сканирование или нет сканирования?

13

На nmapстранице руководства есть, что сказать о -snпараметре:

-sn (No port scan) .
    This option tells Nmap not to do a port scan after host
    discovery, and only print out the available hosts that
    responded to the scan.

Первая половина предложения упоминает, что нет сканирования, но вторая половина говорит, что есть сканирование. Есть ли другой тип сканирования, чем сканирование портов, на которое ссылается вторая половина? Сканирование на обнаружение хоста, возможно (догадываясь из того, о чем я знаю nmap)?

dotancohen
источник

Ответы:

13

Вы правы, что документация сформулирована плохо. -snозначает «пропустить фазу сканирования порта» и ранее был доступен как -sPс мнемоническим «сканированием пинга».

Сканирование Nmap происходит поэтапно . Эти:

  1. Разрешение имени
  2. Этап предварительного сканирования сценария NSE
  3. Обнаружение хоста (сканирование ping, но не обязательно ICMP-эхо-запрос)
  4. Параллельное обратное разрешение имен
  5. Сканирование портов или протоколов
  6. Определение версии сервиса
  7. ОС дактилоскопия
  8. Трассировка
  9. Стадия сканирования портлетов и сценариев NSE
  10. Фаза постсканирования NSE

Обратите внимание, что не все эти фазы выполняются при каждом сканировании, в зависимости от аргументов. Это сканирование:

nmap -sn scanme.nmap.org

будет работать фазы 1, 3 и 4.

РЕДАКТИРОВАТЬ: я исправил документацию, на которую вы ссылались в r33790:

Эта опция указывает Nmap не выполнять сканирование портов после обнаружения хоста и распечатывать только доступные хосты, которые ответили на зонды обнаружения хоста .

bonsaiviking
источник
6

В своем стандартном режиме nmap выполняет два разных типа сканирования: сканирование хостов, чтобы определить, какие хосты доступны для дальнейшего сканирования портов, и сканирование портов, которое выявляет состояние портов на доступных машинах. -snне сканирует порты, но выполняет сканирование хостов - это особенно полезно при сканировании диапазона с помощью nmap, где он распечатывает те хосты, которые ответили на сканирование (что может, например, выявить некоторые хосты, доступные на определенная подсеть).

Например:

$ nmap -sn 192.168.0.0/24

Starting Nmap 6.40 ( http://nmap.org ) at 2013-08-23 17:54 CEST
Nmap scan report for 192.168.0.11
Host is up (0.051s latency).
Nmap scan report for 192.168.0.37
Host is up (0.063s latency).
Nmap scan report for 192.168.0.65
Host is up (0.016s latency).
Nmap scan report for 192.168.0.85
Host is up (0.00090s latency).
Nmap scan report for 192.168.0.149
Host is up (0.024s latency).
Nmap scan report for 192.168.0.202
Host is up (0.021s latency).
Nmap scan report for 192.168.0.253
Host is up (0.042s latency).
Nmap done: 256 IP addresses (7 hosts up) scanned in 22.26 seconds
Крис Даун
источник
2

Да, -sn это ping-сканирование для обнаружения хоста, которое не выполняет детальное сканирование портов (какие порты открыты на хосте). Это 2 разных скана, о которых говорит man-страница. Ваша интерпретация довольно близка.

johnshen64
источник