nmap os探测使用方法及原理
OS探测的原理
有下面五个过程
第一步:Sequence generation (SEQ, OPS, WIN, and T1)
先每隔100毫秒(0.1秒)发送一个SYN包S
实际上wireshark确定的时间是有些许偏差的,但是nmap发送时可能是精确的每个100ms
这些包只发给开放的端口,进行OS探测时都得先探测host、port之后才能OS探测,因此,即使只使用参数-O时都会先发送大量得SYN包来进行SYN Scan,
这六个SYN包的参数是确定的,如下。
(检测时可以做一个在1秒内运行的序列探测器,一秒内按顺序探测到这六个包,则表明很大概率被OS探测)
如wireshark抓到的第一个SYN包
第二步ICMP echo (IE):
发送两个ICMP echo request报文,各参数也都确定。
type of service
第三步:TCP explicit congestion notification (ECN)
再发送一个TCP包
第四步:TCP (T2–T7)
再发送六个TCP包
第五步:UDP (U1)
向关闭的端口发送UDP包,如果真的是关闭的端口,没有防火墙,那么会有ICMP报文回复
检测特征:data域有300个 ’C’字符