正如手册页所述,“-sn:Ping Scan - 禁用端口扫描”和“-sL:List Scan - 仅列出要扫描的目标”
我试过这个:
➜ ~ sudo nmap -sn scanme.nmap.org
Starting Nmap 7.70 ( https://nmap.org ) at 2018-06-24 17:35 CST
Cannot find nmap-payloads. UDP payloads are disabled.
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.20s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds
➜ ~ sudo nmap -sL scanme.nmap.org
Starting Nmap 7.70 ( https://nmap.org ) at 2018-06-24 17:36 CST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Nmap done: 1 IP address (0 hosts up) scanned in 0.02 seconds
问题:为什么使用-sn
可以找到一台活动主机,而使用-sL
却找不到?
答案1
当使用 just 时-sL
,不会向目标主机发送任何数据包(nmap
因此无法判断主机是否已启动),它只是执行主机名查找。
从手册中:
-sL
(列表扫描)列表扫描是主机发现的一种退化形式,它仅列出指定网络的每个主机,而不向目标主机发送任何数据包。默认情况下,Nmap 仍然在主机上执行反向 DNS 解析以了解其名称。简单的主机名提供了如此多的有用信息,这常常令人惊讶。例如,
fw.chi
是一家公司的芝加哥防火墙的名称。Nmap 还在末尾报告 IP 地址的总数。列表扫描是一种很好的健全性检查,可确保您的目标拥有正确的 IP 地址。如果主机使用您不认识的域名,则值得进一步调查以防止扫描错误的公司网络。
由于这个想法是简单地打印目标主机列表,因此端口扫描、操作系统检测或 ping 扫描等更高级别功能的选项不能与此组合。如果您希望禁用 ping 扫描,同时仍执行此类更高级别的功能,请阅读
-Pn
(跳过 ping)选项。