我正在进行仅主机发现(-sn)选项,尝试确定已启动并正在运行的活动主机。
我的第一个命令是:
nmap -sn -PS21,22,25,53,80,443,3389,8000,8080,42000 -PA80,443,8080,42000 -PU53 xxx.xxx.xxx.xxx/27
我正在扫描公共IP,上面的命令会产生一个结果,表明有18个主机已启动。
然而,当我使用--data-length
"选项"运行上述命令时(32或56),它产生的结果只有8个主机。
我期待看到更多主机,如果有的话......但不能少。 (data-length选项为每个数据包添加一个数据字节以模拟ping工具,它可能有助于规避设置为丢弃0字节数据包的防火墙规则。)
我正在阅读Fydors的书,但我无法理解上述行为。
有什么想法吗?
由于
答案 0 :(得分:1)
--data-length
将数据添加到每个数据包。您的TCP发现选项(-PS
,-PA
)正在发送通常不包含数据的数据包。在这种情况下,这些数据包更容易丢弃或被忽略,因为它们不常见。 --data-length
有用的情况是-PE
(ICMP Echo Request)发现选项。 ICMP Echo Request数据报通常与一些数据有效负载一起发送,但Nmap默认为空探测器,因此像Snort这样的IDS产品有时会阻止或警告这些探测器。