使用带/不带 sudo 的 nmap 的不同结果

信息安全 地图
2021-08-16 09:26:14

运行后是什么原因:

$ nmap -sP 192.168.1.0/24 

我得到了 3 个结果,但正在运行:

$ sudo nmap -sP 192.168.1.0/24

显示 7 个结果。

在这里使用的作用是什么sudo

2个回答

Nmap 调整其技术以使用当前特权级别的最佳可用方法,除非您明确要求不同的东西。Nmap 在 Linux 上需要 root(或 sudo)权限的事情是:

  • 使用 libpcap 嗅探网络流量
  • 发送原始网络流量

您可以使用该-d选项查看 Nmap 在后台执行的操作,但简短的回答是,在以太网 LAN 上具有 root 权限(就像您使用的一样,基于您列出的 IP 地址),Nmap 将发送原始 ARP 数据包和嗅探结果。响应 ARP 请求是在此类网络上进行 IP 通信的先决条件,因此几乎不可能阻止或隐藏此类扫描。如果您没有root 权限,Nmap 会回退到尝试连接到 2 个 TCP 端口(80 和 443),如果连接成功或重置,则考虑主机“启动”。此扫描不会显示带有全部防火墙且在 80 或 443 上没有服务的系统。您可以在手册页的主机发现部分阅读更多关于 Nmap 的主机发现技术的信息

如上所述,您需要升级权限才能打开原始套接字。值得注意的是,ping 扫描将 ACK 数据包发送到端口 80,将 SYN 数据包发送到端口 443。但是如果被联系的主机在您询问的那些端口上没有服务怎么办?NMAP 还发送时间戳请求。结果可能会因您要完成的工作而异。例如,ping 扫描通常用于识别正在扫描的网络上的主机,但是,并非所有主机都响应 ICMP 请求(如果它们使用防火墙、IPS 等)您可以使用 arp 代替nmap 通过键入 arp -a 来确定网络上的主机,但要回答(或在这种情况下重复答案),您需要原始套接字来进行 nmap 中的大多数扫描