诸神之眼:Nmap网络安全审计技术揭秘
上QQ阅读APP看书,第一时间看更新

2.8 使用IP协议进行主机地址发现

IP协议是TCP/IP协议族中的核心协议,也是TCP/IP的载体。所有的TCP、UDP、ICMP及IGMP数据都以IP数据包格式传输。IP数据包的格式如图2-7所示。

图2-7 IP数据包格式

这里面的协议域长度为8位。用来标识是哪个协议向IP传送数据。比如ICMP为1, IGMP为2, TCP为6, UDP为17, GRE为47, ESP为50等。

Nmap中允许向目标主机发送IP数据包来检测目标主机是否活跃,理论上可以使用的协议多达上百个。这种方式允许指定所要使用的协议,如果不指定的话,Nmap默认使用ICMP(IP协议编号1)、IGMP(IP协议编号2)和IP-in-IP(IP协议编号4)三个协议。另外也可以使用参数-PO来指定所要使用协议的编号,例如默认的IP扫描方式

    Nmap -sP -PO 60.2.22.35

实际上就相当于

    Nmap  -sP  -PO 1,2,4  60.2.22.35

如果希望使用TCP(IP协议编号6)、UDP(IP协议编号17),就可以使用如下命令。

    Nmap  -sP  -PO 6,17  60.2.22.35

另外,这种情形发出的数据包内容都是空的,这种数据包很容易被检测出来,可以使用一个--data-length参数来发送添加了随机数据的数据包。例如:

    Nmap --data-length 25  60.2.22.35