《Nmap扫描器使用和分析.doc》由会员分享,可在线阅读,更多相关《Nmap扫描器使用和分析.doc(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、,华中科技大学计算机学院计算机网络安全实验报告实验名称 Nmap扫描器使用和分析 团队成员:姓 名班 级学 号贡献百分比得 分王凤伟IS0703U200714945100%注:团队成员贡献百分比之和为1Email:visual_110教师评语:一 环境(详细说明运行的操作系统,网络平台,机器的IP地址)操作系统 :Microsoft Windows XP Professional Service Package 3 。网络平台:TCP/IP网络机器IP:211.69.207.74Nmap版本:5.21二 实验目的l 掌握主机、端口扫描的原理l 掌握Nmap扫描器的使用l 掌握Nmap进行远程O
2、S检测的原理三. 实验步骤及结果(包括主要流程和说明)1 安装Nmapa) 安装界面单击“IAgree”b) 选择组件 默认安装,单击“Next”c) 进入安装单击“Install”后面一路默认设置,最后安装成功。2 利用Nmap扫描d) -sS (TCP SYN scan)参数扫描如图2-1所示图2-1 -sS扫描211.69.207.72从扫描结果可以看出211.69.207.72开通了11个端口,而且这些端口都是tcp端口,因为syn扫描是基于tcp的。e) -sT (TCP connect scan)参数扫描211.69.207.72如图2-2图2-2 -sT扫描211.69.207.
3、72从中可以看出,-sT扫描比-sS扫描多扫出了一个21号端口,对此我用wireshark截了一些包,发现21号端口只回应了一个rst|ack包,而其余的端口回应了至少三个rst|ack或reset之类的包,因此我判断有可能-sS与-sT判断端口打开的标准不同,-sT对回复一个rst|syn包就认为对方的端口是开着的,而-sS要对方回复多个rst|syn才认为对方的端口是开放的。f) -sU (UDP scans)参数扫描如图2-3图2-3 sU参数扫描202.114.0.242由于-sU扫描的是UDP端口,而且扫描的目标ip为学校的DNS服务器,因此一定能扫描到对方的53号端口。g) -sY
4、 (SCTP INIT scan)扫描如图2-4图2-4 sY参数扫描211.69.207.72由于流控制传输协议(SCTP)是IETF新定义的一个传输层transport layer协议(2000)所以到目前支持的不是很好,所以什么都没有扫描出来。h) -sN; -sF; -sX (TCP NULL, FIN, and Xmas scans)-sN参数扫描如图2-5-a所示图2-5-a sN参数扫描211.69.207.72由于对方是windows系列的操作系统所以检测到端口都是关闭的,但用syn扫描却发现对方11个tcp端口。下面我们扫描一个不是windows系列的操作系统,-sF参数扫描
5、如图2-5-b所示图2-5-b sF参数扫描对方的主机是IBM AIX 5.3 - 6.1,所以像443/tcp等关闭的端口操作系统会返回一个rst|ack,可以被nmap侦测到。其它的966都是open或者filtered。-sX参数扫描如图2-5-c所示图2-5-c sX参数扫描这里的扫描结果与-sF的扫描结果一致,原理也基本一致,这里就不再解释了。i) -sA(TCP ack scan)参数扫描如图2-6图2-6 sA参数扫描211.69.207.27由于对方对每个ack报文都回复了rst,所以nmap判断所有的端口都没有过滤。j) sW(TCP window scan)参数扫描如图2-
6、7图2-7 sW参数扫描211.69.207.72由于对方的所有回复报文均为rst故nmap判断对方所有端口关闭。k) sM(TCP Maimon scan)参数扫描如图2-8 图2-8 sM参数扫描211.69.207.72-sM扫描实际是将sck和fin置位,对方以rst应答,nmap判断对方的所有端口都是开放或者被过滤的。l) sO(IP protocol scan)参数扫描如图2-9 图2-9 sO参数扫描211.69.207.72-sO扫描了IP协议相关的配置,如对方开放了ICMP协议、tcp协议以及UDP协议,而igmp、ip、ipv6、esp以及ah协议被检测为open|filt
7、ered。m) scanflags(Custom TCPscan)参数扫描如图2-10 图2-10 scanflags 2 参数扫描211.69.207.72-scanflags 2 其实就是syn扫描机-sS所以扫描的结果与-sS(图2-1)应该基本相同。3 深入了解Nmap OS指纹库的结构和含义a) 利用-O参数扫描211.69.207.72如图3-1-A和3-1-B图3-A-1 O参数扫描211.69.207.72第一屏图3-B-2 O参数扫描211.69.207.72第二屏由于使用了-d 参数,所以nmap会打印出匹配的指纹信息,下面我们就讨论一下,这些指纹信息是如何计算出来的,以及
8、nmap是如何通过指纹库判断操作系统的。b) Scan行此行反映了扫描的环境信息,如V=5.21说明nmap的版本是5.21,P=i686-pc-windows-windows说明扫描者的平台是i686,操作系统是windows系列的。还有一些选项,不知道其具体是什么意思,但这对判断操作系统应该影响不大,所以就没有深入研究。c) SEQ行首先,我们看看nmap-os-db中对应于Fingerprint Microsoft Windows XP SP2,的SEQ行:SEQ(SP=FA-108%GCD=1-6%ISR=106-110%TI=I%II=I%SS=S%TS=0)。下面我们先计算GCD:
9、 由nmap的官方文档http:/nmap.org/book/osdetect-methods.html#osdetect-gcd 可知,GCD是由Packet #1-Packet #6 这六个报文的响应报文推到而来的,下面我们找到这些报文,我们首先找到 Packet #1,可以通过如下的过滤参数得到:ip.addr=211.69.207.234&tcp.options.wscale_val=10&tcp.window_size=1,结果如图3-C-1:图3-C-1 Packet#1报文由图3-C-1可知Packet#1报文的序号为2054,那么我们就可以通过此序号找到其它的五个报文,如图3-
10、C-2: 图3-C-2 Packet#X以及它们的响应报文 下面我们计算各个响应报文之间的差值,以及差值的最大公约数。我们用数组diff1保存各个差值,并只给出计算diff10的详细过程,以及相关数据包的截图。第一个响应报文为2055号报文,报文内容如图3-C-3:图3-C-3 2055号报文wireshark截图wireshark用相对值反映tcp的ISN,我们必须用实际的ISN,那么ISN=0X54f7491f。第二个响应报文为2057号报文,报文的内容如图3-C-4:图3-C-4 2057号报文的wireshark截图ISN=0Xee7f5d13,所以diff10= 0Xee7f5d13
11、-0X54f7491f=0X998813F4由于响应报文的ISN依次为:0X54f7491f、0Xee7f5d13、0X34447a3c、0Xf9b8bea0、0Xc0c45029、0X7f375ad7同理可得(具体报文请参考os_detect.pcap文件):diff10= 0Xee7f5d13-0X54f7491f=0X998813F4(已得到)Diff21= 0X34447a3c-0Xee7f5d13+0Xffffffff=0X45C51D28Diff32=0Xf9b8bea0-0X34447a3c=0XC5744464Diff43= 0Xf9b8bea0-0Xc0c45029=0X38
12、F46E77Diff54= 0Xc0c45029-0X7f375ad7=0X418CF552由此可得:GCD=(0X998813F4,0X45C51D28,0XC5744464,0X38F46E77,0X418CF552)=1,也就是GCD在1和6之间。与nmap的打印结果不同。下面计算ISR:我们用数组seq_rates表示各个响应报文之间的初始序列号增长率,那么通过图3-C-2和diff1数组可以计算seq_rates:Seq_rates0= 0X998813F4/(4.965939-4.856578)= 23553479320.78Seq_rates1= 0X45C51D28/(5.07
13、5279-4.965939)= 10705560270.72Seq_rates2= 0XC5744464/(5.184631-5.075279)= 30294198880.68Seq_rates3= 0X38F46E77/(5.294036-5.184631)= 8733998985.42Seq_rates4= 0X418CF552/(5.403459-5.294036)= 10050509326.19AVG(seq_rates)=( 23553479320.78+10705560270.72+30294198880.68+8733998985.42+8733998985.42+1005050
14、9326.19)/5=16667549356.758ISR=8*log16667549356.758=0X10F,但不知为什么与nmap打印的0X106有一定的偏差。说明:log的底默认为2下面计算SP:SP= 8*logStandardDivision(seq_rates)=8*log 9687277259.89=0X109,但nmap打印的0X105,计算的结果还是与nmap的有些偏差。下面计算TI:探测SEQ响应报文(图3-C-2中有响应的序列号)的IP_ID分别为:16538、16541、16542、16543、16544、16545,显然,IP_ID的增量小于10,所以TI=I,与n
15、map的打印结果一致。下面计算CI:由于CI要由T5、T6、T7的响应报文计算出来,下面我们就找到T2-T7,在wireshark中输入过滤参数:ip.addr=211.69.207.234&tcp.options.mss_val=265得到过滤结果如图3-C-5图3-C-5找到T2报文由图3-C-5可知T2的报文序列号为2074,下面我们可以找到T2-T7如图3-C-6所示图3-C-6 T2-T7以及它们的响应报文下面我们看看T5、T6、T7的响应报文的IP_ID,请看图3-C-7、图3-C-8和图3-C-9,图3-C-7 T5的响应报文图3-C-8 T6的响应报文图3-C-9 T7的响应报
16、文从以上3个图可以看出,T5、T6、T7响应报文的IP_ID分别为:16553、16554、16555,显然它们的差值小于10所以CI=I,这与nmap的打印结果一致。下面计算II:由于II需要IE探测包的响应报文,那么我们就先找到两个IE探测包,使用如下wireshark过滤参数:ip.addr=211.69.207.234&icmp得到如图3-C-10的结果图3-C-10 IE探测包及其响应报文下面我们得到两个IE探测包响应报文的截图,如图3-C-11和图3-C-12图3-C-11 第一个IE探测包响应报文图3-C-12第二个IE探测包响应报文由以上两个图可以看出IP_ID分别为,1654
17、6、16547,所以它们的差值为1,小于10,所以II=I,这与nmap的打印结果一致。下面计算SS:探测SEQ响应报文(图3-C-2中有响应的序列号)的IP_ID分别为:16538、16541、16542、16543、16544、16545,那么有:Agv=(16545-16538)/(6-1)=1.4;又由于第一个icmp响应报文IP_ID为16546,所以1654616545+3*1.4,所以SS=S,这与nmap的打印结果一致。其实,这个结果根本不用算,因为icmp的IP_ID为16546,最后一个tcp的IP_ID为16545,这正好是连续的。下面计算TS:我们先看看Packet #
18、1的响应报文,如图3-C-13图3-C-13 Packet#1的响应报文由图3-C-13可知,此报文TSval为0,所以TS=0,这与nmap的打印结果一致。即:SEQ(SP=109%GCD=1%ISR=10F %TI=I%CI=I%II=I%SS=S%TS=0)d) OPS行由于前面我们已经找到了所有的Packet#1-Packet#6,这里就不在全部截图了,而只给一个例子,Packet#1的响应报文如图3-D-1所示图3-D-1Packet#1响应报文的ops所以可得:O1=M5B4NW0NNT00NNS;同理可得:O2=M5B4NW0NNT00NNS;O3=M5B4NW0NNT00;04
19、=M5B4NW0NNT00NNS;O5=M5B4NW0NNT00NNS;O6=M5B4NNT00NNS;这个结果与nmap的打印结果完全一致。即:OPS(O1=M5B4NW0NNT00NNS%O2=M5B4NW0NNT00NNS%O3=M5B4NW0NNT00%O4=M5B4NW0NNT00NNS%O5=M5B4NW0NNT00NNS%O6=M5B4NNT00NNS) e) WIN行由于前面我们已经找到了所有的Packet#1-Packet#6,这里就不在全部截图了,而只给一个例子,Packet#1的响应报文如图3-E-1所示图3-E-1 Packet#1响应报文的windows size由图
20、3-E-1可得:W1=FFFF;同理可得:W2=FFFF;W3=FFFF;W4=FFFF;W5=FFFF;W6=FFFF;这与nmap的打印结果完全相同。即:WIN(W1=FFFF%W2=FFFF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FFFF)f) ECN行我们首先找到ECN CWR报文,利用以下wireshark的过滤参数:ip.addr=211.69.207.234&tcp.flags.syn&tcp.window_size=3得到如图3-F-1所示的结果:图3-F-1 找到ECN CWR报文由图3-F-1可知,ECN CWR报文的序列号为2072,下面我们定位其响应报文
21、,如图3-F-2所示下面计算R:由图3-F-2可知,ECN CWR报文由响应报文,所以R=Y,这与nmap的打印信息一致。下面计算DF:由图3-F-2可知,DF标志位置1,所以DF=Y,这与nmap的打印信息一致。下面计算T:由于扫描的是局域网内的计算机,所以受到对方的IP数据包中的TTL即为初始TTL,由图3-F-2可以看到TTL=128,也就是十六进制的80,所以T=80,这与nmap的打印结果一致。图3-F-2 ECN CWR报文的响应报文下面计算W:由图3-F-2可知windows size为65535,即十六进制的0Xffff,所以W=ffff,这与nmap的打印结果一致。下面计算O
22、:由图3-F-2的ops字段可知:O=M5B4NW0NNS这与nmap的打印结果一致。下面计算CC:由图3-F-2的tcp头部的flag字段可知ECE与CWR字段均没有置位,所以CC=N,这与nmap的打印结果一致。下面计算Q:由于ECN、CWR以及URG均没有置位,所以根本不会存在文档中所说的所谓的巧合,所以Q什么值都没有鸡Q=,这与nmap的打印结果一致。即:ECN(R=Y%DF=Y%T=80%W=FFFF%O=M5B4NW0NNS%CC=N%Q=)g) T1行T1即为Packet#1,由于我们在前面已经找到了Packet#1报文,下面我们只给出其响应报文,如图3-G-1所示图3-G-1
23、T1响应报文下面计算R:由图3-G-1可知T1有响应报文,所以R=Y,这与nmap的打印结果一致。下面计算DF:由图3-G-1可知DF被置位,所以DF=Y,这与nmap的打印结果一致。下面计算T:由图3-G-1可知TTL=128,也就是十六进制的80,所以T=80,这与nmap的打印结果一致。下面计算S:下面我们把图3-G-1中的sequence number做一个特写,如图3-G-2所示图3-G-2 T1的响应报文的sequence number我们还要知道请求报文,即T1的acknowledgement number,如图3-G-3所示:由图3-G-2可知T1响应报文的sequence n
24、umber为0X54f7491f,而由图3-G-3可知T1的acknowledgement number为0Xefd97016,所以S=O,这与nmap的打印结果一致。图3-G-3 T1的acknowledgement number下面计算A:从图3-G-3可知T1的sequence number为0Xa8975c01,且由图3-G-2可知T1的响应报文的acknowledgement number为0Xa8975c02,因此ack为syn+1,即A=S+,这与nmap的打印结果一致。下面计算F:由图3-G-2可知,T1响应报文的tcp的flags字段syn和ack被置位,所以F=AS,这与n
25、map的打印结果一致。下面计算RD:由图3-G-2可知,T1响应报文的tcp层根本没有携带用户层的数据,所以RD=0,这与nmap的打印结果一致。下面计算Q:由图3-G-2可知,T1响应报文的tcp头的flags字段的ECN、CWR以及URG字段均没有置位,所以Q的置位空,即Q=,这与nmap的打印结果一致。即:T1(R=Y%DF=Y%T=80%S=O%A=S+%F=AS%RD=0%Q=)h) T2行下面我们找到T2报文,通过过滤参数:ip.addr=211.69.207.234&tcp.flags=0,可以得到如图3-H-1图3-H-1 T2报文全貌由图3-H-1可知,T1报文的序列号为20
26、74,下面我们找到其响应报文,如图3-H-2所示下面计算R:由图3-H-2可知,T2报文有响应报文,所以R=Y,这与nmap的打印信息一致。下面计算DF:由图3-H-2可知,T2的响应报文的IP头的flags字段的DF没有置位,即DF=N,这与打印结果一致。图3-H-2 T2响应报文全貌下面计算T:由图3-H-2可知,T2响应报文的TTL为128,由于是在局域网中测试的,所以TTL的值即为T的值,即T=80(十六进制),这与nmap的打印信息一致。下面计算W:由图3-H-2可知,T2响应报文的widows size为0,即W=0,这与nmap的打印结果一致。下面计算S:由图3-H-2可知,T2
27、响应报文的sequence number为0,所以S=Z,这与nmap的打印结果一致。下面计算A:由图3-H-1可知,T2报文的sequence number为0Xa8975c01,而由图3-H-2可知,T2响应报文的acknowledgement number也为0Xa8975c01,所以A=S,这与nmap的打印结果一致。下面计算F:由图3-H-2可知,T2响应报文的tcp头部flags字段RST与ACK字段被置位,所以F=AR,这与nmap的打印结果一致。下面计算O:由图3-H-2可知,T2响应报文的tcp头部的ops字段没有数据,所以O为空,即O=,这与nmap的打印结果一致。下面计算
28、RD:由图3-H-2可知,T2的响应报文tcp层根本没有携带用户层的数据,因此RD=0,这与nmap的打印结果一致。下面计算Q:由图3-H-2可知,T2的响应报文的tcp头部的flags的ECN、CWR以及URG均没有置位,所以Q为空,即Q=,这与nmap的打印结果一致。即:T2(R=Y%DF=N%T=80%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)i) T3行首先我们找到T3报文,T3报文就在T2报文的下面,T3报文如图3-I-1所示,而T3的响应报文如图3-I-2所示。下面计算R:由图3-I-2可知,T3报文有响应报文,所以R=Y,这与nmap的打印结果一致。下面计算DF:由
29、图3-I-2可知,T3响应报文的IP头的flags字段的DF被置位,所以DF=Y,这与nmap的打印结果一致。下面计算T:由图3-I-2可知,T3响应报文的IP头的TTL字段的值为128,即十六进制的0X80,由因为对方主机与扫描主机在同一个局域网,所以T也为128,即T=80,这与nmap的打印结果一致。下面计算W:由图3-I-2可知,T3响应报文的tcp头部的windows size字段的值为65535,即十六进制的0Xffff,所以W=ffff,这与nmap的打印结果一致。下面计算S:由图3-I-1可知,T3报文的acknowledgement number字段值为0Xefd97016,
30、而由图3-I-2可知,T3响应报文的sequence number字段值为0Xfcd729be,所以S=O,这与nmap的打印结果一致。图3-I-1 T3报文全貌下面计算A:由图3-I-1可知,T3报文的sequence number值为0Xa8975c01,且由图3-I-2可知T3响应报文的acknowledgement number的值为0Xa8975c02,所以A=S+,这与nmap的打印结果一致。下面计算F:由图3-I-2可知,T3响应报文的tcp头部的flags字段的syn、ack均被置位,所以F=AS,这与nmap的打印结果一致。下面计算O;由图3-I-2中的T3响应报文的tcp头
31、部的ops字段可知:O=M5B4NW0NNT00NNS这与nmap的打印结果一致。图3-I-2 T3的响应报文下面计算RD:由图3-I-2可知,T3响应报文的tcp层根本没有携带用户层的数据,所以RD=0,这与nmap的打印结果一致。下面计算Q:由图3-I-2可知,T3的响应报文的tcp头部的flags的ECN、CWR以及URG均没有置位,所以Q为空,即Q=,这与nmap的打印结果一致。即:T3(R=Y%DF=Y%T=80%W=FFFF%S=O%A=S+%F=AS%O=M5B4NW0NNT00NNS%RD=0%Q=)j) T4行首先我们找到T4报文,T4报文就在T3报文的下面,T4报文如图3-
32、J-1所示,而T4的响应报文如图3-J-2所示。图3-J-1 T4报文全貌下面计算R:由图3-J-2可知,T4报文有响应报文,所以R=Y,这与nmap的打印信息一致。下面计算DF:由图3-J-2可知,T4响应报文的IP头部的flags字段中的DF没有置位,所以DF=N,这与nmap的打印结果一致。下面计算T:由图3-J-2可知,T4的响应报文的IP头部的TTL字段的值为128,即十六进制的0X80,又由于对方主机与扫描主机在同一个局域网,所以T=80,这与nmap的打印结果一致。下面计算W:由图3-J-2可知,T4响应报文的tcp头部的windows size的值为0,所以W=0,这与nmap
33、的打印结果一致。下面计算S:由图3-J-1可知,T4报文的tcp头部的acknowledgement number为0Xefd97016;且由图3-J-2可知,T4响应报文的tcp头部的sequence number也为0Xefd97016,所以S=A,这与nmap的打印结果一致。下面计算A:由图3-J-1可知,T4报文的tcp头部的sequence number为0Xa8975c01;而由图3-J-2可知,T4响应报文的tcp头部的acknowledgement number为0Xefd97016,所以A=O,这与nmap的打印结果一致。下面计算F:由图3-J-2可知,T4响应报文的tcp头
34、部的flags字段的RST被置位,所以F=R,这与nmap的打印结果一致。下面计算O:由图3-J-2可知,T4响应报文的tcp的ops字段没有数据,所以O的置位空,即O=,这与nmap的打印结果一致。下面计算RD:由图3-J-2可知,T4响应报文的tcp层没有携带用户层的数据,所以RD=0,这与nmap的打印结果一致。下面计算Q:由图3-J-2可知,T4响应报文的tcp头部的flags字段中的ECN、CWR以及URG都没有置位,所以Q的值为空,即Q=,这与nmap的打印结果一致。即:T4(R=Y%DF=N%T=80%W=0%S=A%A=O%F=R%O=%RD=0%Q=)图3-J-2 T4响应报
35、文全貌k) T5行首先我们找到T5报文,T5报文就在T4报文的后面,T5报文如图3-K-1所示,然后再找到T5报文的响应报文,如图3-K-2。下面计算R:由图3-K-2可知,T5报文有响应报文,所以R=Y,这与nmap的打印结果一致。下面计算DF:由图3-K-2可知,T5响应报文的IP头部的flags字段的DF位没有被置位,所以DF=N,这与nmap的打印结果一致。下面计算T:由图3-K-2可知,T5响应报文的IP头部的TTL字段的值为128,即十六进制的0X80,而对方的主机与扫描主机在同一个局域网内,所以T也为128,即T=80,这与nmap的打印结果一致。下面计算W:由图3-K-2可知,
36、T5响应报文的tcp头部的windows size的值为0,所以W=0,这与nmap的打印结果一致。下面计算S:由图3-K-2可知,T5响应报文的tcp头部的sequence number的值为0,所以S=Z,这与nmap的打印结果一致。下面计算A:由图3-K-1可知,T5报文的tcp头部的sequence number的值为0Xa8975c01;且由图3-K2可知,T5响应报文的acknowledgement number的值为0Xa8975c02,所以A=S+,这与nmap的打印结果一致。图3-K-1 T5报文全貌图3-K-2 T5响应报文的全貌下面计算F:由图3-K-2可知,T5响应报文
37、的tcp头部的flags字段的RST和ACK被置位,所以F=AR,这与nmap的打印结果一致。下面计算O:由图3-K-2可知,T5响应报文的tcp的ops字段没有数据,所以O值为空,即O=,这与nmap的打印结果一致。下面计算RD:由图3-K-2可知,T5响应报文的tcp层没有携带用户层的数据,所以RD=0,这与nmap的打印结果一致。下面计算Q:由图3-K-2可知,T5响应报文的tcp头部的flags字段的ECN、CWR以及URG都没有置位,所以Q的值为空,即Q=,这与nmap的打印结果一致。即:T5(R=Y%DF=N%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)l)
38、 T6行我们先找到T6报文,T6报文就在T5报文的后面,T6报文如图3-L-1所示,然后找到T6的响应报文如图3-L-2所示。图3-L-1 T6报文的全貌下面计算R:由图3-L-2可知,T6报文有响应报文,所以R=Y,这与nmap的打印结果一致。下面计算DF:由图3-L-2可知,T6响应报文的IP头部的flags字段的DF未被置位,所以DF=N,这与nmap的打印结果一致。图3-L-2 T6响应报文的全貌下面计算T:由图3-L-2可知,T6响应报文的IP头部的TTL字段的值为128,即十六进制的0X80,又由于被扫描主机与扫描主机在同一个局域网中,所以T=80,这与nmap的打印结果一致。下面
39、计算W:由图3-L-2可知,T6响应报文的tcp头部的windows size的值为0,所以W=0这与nmap的打印结果一致。下面计算S:由图3-L-1可知,T6报文的tcp头部的acknowledgement number的值为0Xefd97016;且由图3-L-2可知,T6响应报文的tcp头部的sequence number的值也为0Xefd97016,所以S=A,这与nmap的打印结果一致。下面计算A:由图3-L-1可知,T6报文的tcp头部的sequence number的值为0Xa8975c01;而由图3-L-2可知,T6响应报文的tcp头部的acknowledgement numb
40、er的值为0Xefd97016,所以A=O,这与nmap的打印结果一致。下面计算F:由图3-L-2可知,T6响应报文的tcp头部的flags字段的RST被置位,所以F=R,这与nmap的打印结果一致。下面计算O:由图3-L-2可知,T6响应报文的tcp头部的ops字段没有数据,所以O为空,即O=,这与nmap的打印结果一致。下面计算RD:由图3-L-2可知,T6响应报文的tcp层没有携带用户层的数据,所以RD=0,这与nmap的打印结果一致。下面计算Q:由图3-L-2可知,T6响应报文的tcp的头部的flags字段的ECN、CWR以及URG都没有置位,所以Q的值为空,即Q=,这与nmap的打印
41、结果一致。即:T6(R=Y%DF=N%T=80%W=0%S=A%A=O%F=R%O=%RD=0%Q=)m) T7行我们首先找到T7报文,T7报文就在T6报文的后面,T7报文如图3-M-1所示,然后找到T7的响应报文,如图3-M-2所示。下面计算R:由图3-M-2可知,T7报文有响应报文,所以R=Y,这与nmap的打印结果一致。下面计算DF:由图3-M-2可知,T7响应报文的IP头部的flags字段的DF位没有被置位,所以DF=N,这与nmap的打印结果一致。下面计算T:由图3-M-2可知,T7响应报文的IP头部的TTL的值为128,即十六进制的0X80,又由于被扫描主机和扫描主机在同一个局域网
42、之内,所以T=TTL=80,这与nmap的打印结果一致。下面计算W:由图3-M-2可知,T7响应报文的tcp头部的windows size 字段的值为0,所以W=0,这与nmap的打印结果一致。图3-M-1 T7报文全貌下面计算S:由图3-M-2可知,T7响应报文的tcp头部的sequence number字段的值为0,所以S=Z,这与nmap的打印结果一致。下面计算A:由图3-M-1可知,T7报文的tcp头部的sequence number字段的值为0Xa8975c01;且由图3-M-2可知,T7报文的tcp头部的acknowledgement number字段的值为0Xa8975c02,所
43、以A=S+,这与nmap的打印结果一致。下面计算F:由图3-M-2可知,T7响应报文的tcp头部的flags字段的RST与ACK被置位,所以F=AR,这与nmap的打印结果一致。图3-M-2 T7响应报文全貌下面计算O:由图3-M-2可知,T7响应报文的tcp头部没有ops字段,所以O的值为空,即O=,这与nmap的打印结果一致。下面计算RD:由图3-M-2可知,T7响应报文的tcp层没有携带应用层的数据,所以RD=0,这与nmap的打印结果一致。下面计算Q:由图3-M-2可知,T7响应报文的tcp头部的flags字段的ECN、CWR以及URG都没有置位,所以Q的值为空,即Q=,这与nmap的
44、打印结果一致。即:TOS:7(R=Y%DF=N%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)n) U1行首先我们找到UDP数据包U1,使用过滤参数:ip.addr=211.69.207.234&udp,结果如图3-N-1所示图3-N-1 U1数据包全貌由图3-N-1可知,对方应答U1数据包的是一个报告目的端口不可达的icmp报文,icmp报文如图3-N-2所示。图3-N-2 响应U1的icmp报文下面计算R:由图3-N-2可知,U1包有icmp响应报文,所以R=Y,这与nmap的打印结果一致。下面计算DF:由图3-N-2可知,U1响应报文(icmp报文)的IP头部的fl
45、ags字段的DF没有置位,所以DF=N,这与nmap的打印结果一致。下面计算T:由图3-N-2可知,U1响应报文的IP头部的TTL的值为128,即十六进制的0X80,又由于被扫描主机和扫描主机在同一个局域网内,所以T=TTL=80,这与nmap的打印结果一致。下面计算IPL:由图3-N-2可知,U1响应报文的IP头部的total length的值为176,也就是十六进制的0Xb0,所以IPL=b0,这与nmap的打印结果一致。下面计算UN:下面我们给icmp头部一个特写,如图3-N-3所示:图3-N-3 icmp图标特写由图3-N-3可知,icmp头部的后4个字节为零,所以UN=0,这与nmap的打印结果一致。下面计算RIPL:由图3-N-2可知