Как я знаю, 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 - нет?