不论是入侵还是安全审计,你先要找到对象,就是我们所谓的主机群。所以首先要找到目标,而传统的发送ICMP ping 包已经早已不合时宜。所以提出了-P * 扩展功能:
-sL 就是列出网域中的主机
-sP 一般扫描得出的主机有活的(active),默认情况下发送一个 icmp request 和一个 tcp 80 syn 。 扫描的是局域网的时候就 相当于用了-PR (ARP包)选项,当然你可以--send-ip 选项禁止使用ARP 扫描。
-P0 就是不进行所谓的ip 扫描了,说明我们知道了活的主机,直接对它进行详细的探测(port等等)
-PS 对目标主机的80 端口发送syn 。当然这个可以在文件中修改默认的是那个端口。一般不建议。 如果你想给其他的端口发送SYN ,-PS22,23,80,25就ok ,一般是如果写了端口,原来的默认就别修改,所以再加上80 。这样的原理: 如果此端口是关闭的回应RST,如果是开的SYN ACK。但是这都不重要,我们知道这个主机是active 的就ok。 象linux 这样的服务器中的netfilter 就有此项功能: -m tcp --tcp-flags SYN, 直接过滤掉你的SYN 包,所以有下边的选项。
-PA 直接发送ACK ,可以躲过一些过滤,活着的主机回应一个 RST。Linux Netfilter/iptables 通过 --state选项支持这一特性,它根据连接状态把报文 进行分类,可以过滤这个ack 包,所以一般 -PS -PA 一起用。
iptables -p tcp --tcp-flags SYN,FIN,ACK SYN 这条命令 是过滤非连接的 SYN ,ACK SYN 的。
-PU :有些软件在设计的漏洞,只过滤TCP ,不顾虑UDP 。
-PE 是标准的echo 。
-PP 时间戳
-PM mask ,一般都没有不用加。
-PR ----ARP 包,一般在局域网中用到,加上--send-ip 就不发送ARP 而是使用默认的。
-n 不解析域名。