Почему сканирование nmap не требует разрешения root - PullRequest
1 голос
/ 18 февраля 2020

Как я знаю, ping - это инструмент, для которого требуется разрешение root (set-uid) или CAP_NET_RAW Capability.

Но я обнаружил, что при запуске сканирования пинга Nmap (-sn) нет требуется разрешение привилегий:

# getcap /usr/bin/nmap
# ls -al /usr/bin/nmap 
-rwxr-xr-x 1 root root 2445920 May 28  2016 /usr/bin/nmap
# su -s /bin/bash www-data
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ nmap -sn example.com

Starting Nmap 6.47 ( http://nmap.org ) at 2020-02-17 16:35 CST
Nmap scan report for example.com (93.184.216.34)
Host is up (0.011s latency).
Nmap done: 1 IP address (1 host up) scanned in 11.05 seconds

Так как же работает ping-сканирование Nmap? Почему ping требует разрешения root, а nmap - нет?

1 Ответ

1 голос
/ 18 февраля 2020

Когда вы запускаете проверку Nmap ping как root, по умолчанию используются методы ICMP и ACK. Пользователи не root будут использовать метод connect (), который пытается подключиться к машине, ожидает ответа и разрывает соединение, как только оно установлено (аналогично методу SYN / ACK для root пользователи, но этот устанавливает полное TCP соединение!)

с сайта nmap .

...