################ nmap流量分析 ####################
被分析的流量包可以在https://download.csdn.net/download/m0_43406494/12926556
下载
1.-sA
-sA参数启动TCP ACK Scan,向目标各个端口发送设置了ACK位的TCP包。
若是目标回复RST包,则说明目标端口没有被防火墙屏蔽掉,
若是目标回复ICMP不可达报文或者没有回复则说明被防火墙屏蔽了。
-sA.pcap文件中有大量的ACK包,而且端口号不同,验证了Nmap的ACK Scan的工作原理。
2.-sS
-sS参数启动TCP SYN Scan,向目标各个端口发送设置了SYN位的TCP包。
若是目标回复RST包,则说明目标端口是关闭的,
若是回复SYN/ACK包,则说明目标端口开放,
若是回复ICMP不可达报文或者没有回复则说明目标端口被防火墙屏蔽了。
-sS.pcap文件中有大量的SYN包,而且端口号不同,验证了Nmap的SYN Scan的工作原理。
3.-sF -sX
-sF参数启动TCP FIN Scan -sX参数启动TCP Xmas Scan
虽然是两种不同的扫描方式,但是工作原理是相同的。
RFC文档中规定了如果目标端口是关闭的,会对一个没设置RST位的包回复RST包。
一个开放的端口收到没有设置RST、SYN、ACK位的包,会直接丢弃,没有回复。
-sF.pcap文件中有大量的FIN包,-sX文件中有大量的同时设置了FIN、PUSH、URG位的包
若是目标回复RST包,则说明目标端口是关闭的,
若是目标端口没有回复,则说明目标端口可能是开放的或者是被防火墙屏蔽掉了。
4.-O
-O参数启动OS探测功能。
要进行OS探测必须要先进行主机发现与端口扫描来确定目标,因此-O.pcap文件中从No.1到No.1001号数据包都是用来探测主机及端口的SYN包(猜测使用的是SYN Scan),而且相邻两个数据包的发送时间很短,大多小于0.001s,这个就是nmap先迅速探测主机以及端口状态的过程。
紧接着,nmap开始进行OS探测。
首先,nmap进行第一步:Sequence generation (SEQ, OPS, WIN, and T1)。
从No.1002到No.1007号数据包,nmap每隔0.1秒发送一个SYN包,这些数据包的参数都是固定的(可以用作指纹),比如说第一个SYN包的window scale是10,MSS是1460,SACK permitted等等。
Nmap官方文档的描述
Wireshark
第二步:ICMP echo(IE)
No.1008、No.1009号数据包是ICMP echo的过程,数据域为100bit的0,还有一些其他的特征也可以作为特征。
第三步:UDP (U1)
No.1010号数据包nmap向可能是关闭的端口发送的UDP包,如果真的是关闭的话,会收到ICMP不可达回复包,正是No.1011数据包。
这个包的最明显特征是data域有300个'C'字符
第四步:TCP explicit congestion notification (ECN)
再次发送一个TCP包,No.1012号数据包,其参数也是都设置好的。Flags位设置了SYN、ECN、CWR。