为什么不进行ping扫描需要root权限

问题描述 投票:1回答:1

据我所知,ping是一种需要root权限(set-uid)或CAP_NET_RAW功能的工具。

但是我发现,当我启动Nmap ping扫描(-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

那么Nmap的ping扫描如何工作?为什么ping需要root权限而nmap不需要?

linux permissions nmap
1个回答
1
投票

当您以root身份运行Nmap ping扫描时,默认设置是使用ICMP和ACK方法。非root用户将使用connect()方法,该方法将尝试连接到计算机,等待响应,并在建立连接后立即断开连接(类似于root用户的SYN / ACK方法,但是这个建立了完整的TCP连接!)

nmap website开始。

© www.soinside.com 2019 - 2024. All rights reserved.