《抓包分析.docx》由会员分享,可在线阅读,更多相关《抓包分析.docx(11页珍藏版)》请在三一办公上搜索。
1、目录一、TCP抓包分析2ITCP三次握手过程21.1 TCP三次握手第一步:21.2 TCP三次握手第二步:21.3 TCP三次握手第三步:32各字段含义32.1 传输层42.2 ip层52.3 数据链路层7二、DNS抓包分析81 协议数据包窗口82 协议树窗口93 UDP节点94 DNS请求报文105 DNS应答报文10三、心得体会Ht:OOOO o 0020 003000 8 ” OO(MOb 18 f3 6a 69 18 Sd 08 OO 45 00 00 34 04 Se 40 00 40 06 S3 7c 6f Oa Sl 66 da c90040 04 0215 b cd a 00
2、 50 即Ti中 0020 00 9b Ol 00 00 0 M 05 M Ol00 00 00 80 02 03 03 02 Ol Ol一、TCP抓包分析1TCP三次握手过程1.1 TCP三次握手第一步:MbfcANPfS9WC27ME4E2OAD0C59OA3F9B2F?,Gte Gift VWw Sfi CMKwt 4*a SaCWcS tepho% Iocb Mtemali M)HM日 *21f ,、, 出于0 已3区圆F tcp.tfrm g 10日 EXPrtMioC- CiMr Apply SaveNo. Time SourceDestinebonProD vSS-1460 S-
3、4 SC .,Pf RV-I 63 19.026561218. 201.21,176111.10.83.102TCP6680 52640SYN.ack) q-0 Ack-1 w1n-5840 LerwO RSS-UOO SACK.RM-1ws-S1264 19.026704111.10.83.102210.201.21.176TCPM5264O 80ACKSq-1 Ack-I win16a L-0 Frane 48: 66 bytes on wire (528 bfts). 66 bytes captured (S28 bits) Ethernet XX. Src: lS:f4:6a:69:1
4、8:5yes). MaXlmIM segment size, wo-operat1on (nop), window scale, wo-operatlon (nop). N-oprat1on (nop), sack permitted*k:36SVNRev48k2f2*】:图1TCP三次握手第一步根据网络包列表窗口(如图1所示)可以判断出,第48个包是一次会话的开始,源(本机)IP地址为(后面称为节点A),目的IP地址为(后面称为节点B),协议为TCP。从包头详细信息窗口,可以看到当前选中的网络包的序列号为0,标志位SYN被设置为1,即为节点A向节点B发起建立连接请求的SYN包。1.2 TCP
5、三次握手第二步:.MiaOtOftD0*WF-gW6-7AEE-a6-5M3F9BC3e2(Wii8(SvNv4M421s11E*eEdeSewQo3reAr叫WasusTdephc. 1O.63 IOZ 216. Z0】 2】.【7。m雨mmIEV*me64 19.026704 111.10.S3.102218.201.21.176Protocol Length InfoTCP66 5280 8Sm0 Win*B】9? ie0 XSS146O W$1 SMKJG时lTCP66 8。 52Zo f”、;发【1 SeW .iri55;0 IOT VSSnE SACx-PEW 力TCP54 526
6、40 0 (.DSt:l:f4:6a:69:18:5d(ie:f4:6a:69:18:5d)XtrntProtocolVrson4vSrc:218.201.21.176(218.201.21.176).Dst:111.10.83.102(111.10.83.102)Streamrdex:105quereunterT(relativesequenceurber)IACknOwledorrrWber:1(relativeackubeTHadrlenth:32bvt3calculatedwindowsize:5840CzCkSU0:0x67bevalidationdisabledootions:(1
7、2lvtes).MaXffIUflSeanentsize.No-Ooeratlon(nop).No-0perat1(nop).sackoeraftted.No-Operatlon(nop),windowscale000018 f4 6a 6918Sd 00 00Se 00 04 Ob 08 00 45 00OOlO00 34 00 004000 3COG8b da c9 15 b 6f Oa2053 66 00 50cJa e4 5158 4d 3 80 12003016 d 67 b60000 02 0405 78 Ol Ol 04 02 Ol 030040 03 09TCP三次握手第二步接
8、下来,为TCP三次握手的第二步,如图2所示。源(本机)IP地址为,目的IP地址为。然后,从包头详细信息子窗口可以看到序列号为:0;确认号为:1,即0+1,并且注意到SYN和ACK标志位均已设置为1。说明该TCP包是对第一步中TCP包确实认,并同时请求同步,即ACK-SYN包。1.3 TCP三次握手第三步:BMwowDceNPFJ27968C2-7AEE-4e20-AD06-590A3F9W3e2)(W二,hk:36SVNRev48142fromAzchl却)改EdICywgCaptureStxoxs*ppretfon.CrAppfyStVeNo.TimeSourceDestinMionProt
9、ocollengthIMO4818.793290111.10.8B.102218.201.21.176TCP6652640SOSYNSoq-OWin-8192Ln-0MSS-1460WSiSACICPCRX-I6319.02656121820121.176111.10.83.102丫566SO52640ISVNICKSqOAR1dn5840FXMSS-14005ACK-PERM-1U1S-512【6419O267O4111.10.83.16?218.201.21.】,6K545264060MkSZ二1A(TMnT6600Ien0Frame64:$4bytesontdre(432bits).54
10、bytescaptured432bits),EthernetXX.src:18:f4:6a:69:ie:5d(18:f4:6a:69:18:5d).DSt:00:00:5e:OO:O4:0ber:1(reIaPIVeacknumber)FNdNrIefXnh:?Qbyr。*Flq:OxOlO(ACK)Iwnoowsizevalue:4200Calculatedwindowsize:16S00(windowsizescalingfactor:4tChecksun:OXaebvalidationdisabled9sqACKanalysisOOOO0000Se04Ob18f46a6918Sd0800
11、4SoO.ji.OOlO0028046b40004006837b6fOaS366dac9.(.kft.t.(o.Sf.002015bcda00503ddff55be451584e5010P-.(.qxnp.00301068aeD60000.h.图3TCP三次握手第三步接下来是TCP三次握手的第三步(如图3所示),即第64个包,节点A发送TCP包给节点B,其序列号是1,说明请求的下一个TCP包的序列号为1;确认号为1,说明是对第63个包确实认,而且其ACK位为1,即ACK包。至此,TCP协议的三次握手过程已经完成,节点A和B之间已经建立连接,可以进行数据传输。2各字段含义TCP报文段发送在前*
12、IP首部TCP首部TCP数据部分IP数据郃分2.1传输层图4:TCP报文段的首部格式约 0 MeW 8 8tK SMt 父Mo TetemOnX IQOb ptt 皿0 0、 。下 2 画同 QQQO S)9- Htc tr0*trMn “ 10* ; fjpg. CWrSE000.o Fin: MOt set window s1z value: 540 lculte window size: SMO) .* Checksua: 0x67b6 (validation Maxlauaize, MO-Oprat 1o (nop), g9pxl8 (mop), sack erttd. Mo-orat
13、 1o (nop). MlndOM scleOOOO 18 f4 6a 69 18 Sd OO Sa 04 Ot OS OO 45 OO OOlO OO M OO 40 00 3c 06 &b 9j? 1r523bits).66b/t”capcrd(528blCS)EthtrnetXX.Src:Sanfor-OO:04:0b(00:00:5e:00:(M:0b).Dst:MOn RSrv: moc set-cM-co: wot set urgent: wot st Acknoeled9e: Set-push: hoc set-Ree: xo 3”ur.M:18:5d(18:f4:ea:9:18
14、:5d)X11trntPrOtOColvor%1o4.U2I8.2QX.21.X76(218.201.21.176).DJ1h.K).83.1O2Sil.1O.83.102)m11wg伍】AXrH.aOTer:O(relativeser)AckfXMlcdgaientnuvtxr:1(relativeacku*txr)“Mrlength:12bytes图5TCP报文段SourcePort:源端口DestinationPort:目的端口源端口和目的端口字段一一各占2字节。端口是运输层与应用层的效劳接口。运输层的复用和分用功能都要通过端口才能实现。Sequencenumber:序号,占4字节。TC
15、P连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值那么指的是本报文段所发送的数据的第一个字节的序号。ACknOWledgenlentnUnlber:确认号,确认号字段占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。HeaderIength:数据偏移(即首部长度),占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。“数据偏移”的单位是32位字(以4字节为计算单位)。windowsizevalue:窗口字段占2字节,用来让对方设置发送窗口的依据,单位为字节。Checksum:检验和,占2字节。检验和字段检验的范围包括首部和数据这两局部。在计算检验和时
16、,要在TCP报文段的前面加上12字节的伪首部。OPtionS:选项字段一一长度可变。TCP最初只规定了一种选项,即最大报文段长度MSS0标志位Flags:RCSCrVCd:保存字段占6位,保存为今后使用。Nonce:CongestionWindowReduced(CWR):NotsetECN-Echo:NotsetUrgent:紧急URG一一当URG=I时,说明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。ACknOWIedgelnCnt:确认ACK只有当ACK=I时确认号字段才有效。当ACK=O时,确认号无效。Push:推送PSH(PuSH)一一接收T
17、CP收到PSH=I的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。RCSet:复位RST(ReSeT)当RST=I时,说明TCP连接中出现严重过失(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。Syn:同步SYN一一同步SYN=1表示这是一个连接请求或连接接受报文。Fin:终止FIN(FINis)一一用来释放一个连接。FIN1说明此报文段的发送端的数据已发送完毕,并要求释放运输连接。2.2 ip层IP数据报发送在前图6: IP数据报格式 tcp.pcp (WireshAric 1.8.6 (SVN Rev 48142 from trunk1.8)
18、Ele gdc VeW fio CaPtUreStatKtKS Telephony IoOb Jntemais HebS B S SI (h 、Q 。卞 * 画13 0Q0E3 9 卬% SFiken tcp.stream eq 10 Expression. CleerSave Frame 63: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) Ethernet I工 SrU USanfOJoO:04:0b (00:00:5e:OO:O4:0b) . Ost: HOnHaiPr 69:18:5d Q8:f4:8:69:18:5
19、d)internet Protocol versionVersicxi: 4Header ln9th: 20 bytestt Differentiated services Field: 000 (DsCP 000: Default; ecn: 0x00: noc-ect (noc ccn-capable Transport)Total Length: S2Identification: 0x0000 (0)Si Flags: 0x02 (Dont Fragment)Fragment offset: 0TlMe o live: 60Protocol: TCP (6)* Header check
20、sum: OxSbda correctSource: 218.201.21.176 (218.201.21.176)Destination: 111.10.83.102 111.10.83.102)source Geop: UnknOMn) Destination GeoiP: unknown0000001000200030004018 f4 6a 69 18 Sd 00 OO 5e 04 Ob 08 l:八,图印史史Jgqg尹 e/*上A 莒丐 KslbqhshkI fcW2 00 so cd a e4 51 58 4d 3d df f5 Sb 80 123j.P.Q xm.16dO 67
21、b6 00 00 02 04 05 78 01 01 04 02 01 03.gx03 09图7 IP报文版本占4位,指IP协议的版本首部长度一一占4位,可表示的最大数值是15个单位(一个单位为4字节),因此IP的首部长度的最大值是60字节。区分效劳一一占8位,用来获得更好的效劳在旧标准中叫做效劳类型,但实际上直未被使用过。1998年这个字段改名为区分效劳。只有在使用区分效劳(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段.总长度一一占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。总长度必须不超过最大传送单元MTU0标识(identi
22、fication)占16位,它是一个计数器,用来产生数据报的标识。标志(flag)占3位,目前只有前两位有意义。标志字段的最低位是MF(MoreFragment)oMF=I表示后面“还有分片。MF=O表示最后一个分片。标志字段中间的一位是DF(Don,tFragment)。只有当DF=O时才允许分片。片偏移(12位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。生存时间(8位)记为TTL(TimeToLiVC)数据报在网络中可通过的路由器数的最大值。协议(8位)字段指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据局部上交给哪个处理过程首部检验和(16
23、位)字段只检验数据报的首部不检验数据局部。这里不采用CRC检验码而采用简单的计算方法。源地址和目的地址都各占4字节.IP首部的可变局部就是一个选项字段,用来支持排错、测量以及平安等措施,内容很丰富。选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的工程。增加首部的可变局部是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。2.3 数据链路层图8以太网V2的MAC帧格式tcp.popWireshafk1.8.6(SVNRev48142fromtfunk-1.8)-*-EteEdtYIeWQoOotureAnaMeState
24、ocsTelephony工OOteInternalsHob臼0总昌、伞,亦如BQQGt”画r%3rIKKentcp.streameq10Expression.ClearApplySaveFrame63:66bytesOnWlre(528bits),66bytescaptured(528t)ixs)EthernetH5rc:USClnfOJ(X):04:0b(00:00:5e:00:04:0b).Dst:HoaHaiPr_69:18:5dQ8:f4:6a:69:18:5d)Destinarion:HOnHalPr_69:18:5d(18:f4:6a:69:18:5d)Address:HonHai
25、Pr_69:18:5d(18:f4:6a:69:18:5d)O-LGbit:Globallyuniqueaddress(factorydefault)O三IGbit:individualaddress(unicast)uSource:Uscxnfor.00:04:0b(00:00:5e:00:04:0b)Address:UsclnforeOO:04:0b(00:00:5e:OO:O4:0b)O-LGbit:Globallyuniqueaddress(factorydefault)OIGbit:individualaddress(unicast)Type:IP(00800)internetPro
26、tocolversion4.src:218,201.21.176(218.201.21.176),Dst:111.10.83.102(111.10.83.102)rans1ssionControlProtocolfSrcPort:http(80),DsrPort:52640(52640),Seq:O.Ack:1,ten:Ooooo产卡呼45ooBiBiMBBle.OOlO003400004000Bc068bdadac915b6fOa.4.n.ClearSveO5tn6c*Protocol length Into218.201.4.3 DMS73 SXandArd qu-y OXda63 A *
27、.qooq.cU1.10.S1.143 OMS153 StifXlard queryOXa63 A 2O3.2O.17 A 2O2M. .20 A 203.208.)6.18 A 201.208.36.19No.TimeSOVrCe102.17S666OO111.10.81.143112.236O6M21S.2O1.4.3图IODNS报文从包到达的时间,顺序以及源和目的IP地址可知,这是一对DNS请求与应答报文。下列图为10号包与Il号包中DNS段的报文分析注释,由此可证明,包10为DNS请求报文,包11为包10的应答报文。574s,它们的标识字段都为OXda63H,用于相互匹配。BDomai
28、nNameSystem(query)Responsein:IllTransactionid:0xda63图1110号包DomainNameSystem(response)Requestin:101Time:0.057400000secondsTransactionID:0da63图1211号包因为DNS请求报文的目的是请求google.hk的IP地址,故包10的源IP地址为本机IP,目的IP地址为DNS效劳器的IP,包11与包10相反。2协议树窗口DNS请求报文:SFrame10:73bytesonwire(584bits),73bytescaptured(584bits)onInterfac
29、e0-&iEthernet,src:HonHaip.69:18:5d(18:f4:6a:69:18:5d),Dst:uscinfor_00:04:0b(00:OO:5e:00:04:0b).internetProtocolversion4fsrc:111.10.81.143(111.10.81.143),Dst:218,201.4.3(218.201.4.3)+UserDatagramProtocol,SrcPort:61742(61742),DstPort:domain(53)+DomainNamesystem(query)图13DNS请求报文DNS应答报文:)Frame11:153byte
30、sondre(1224bits),153bytescaptured(1224bits)oninterface0一Ethernet,src:uscinfor_00:04:0b(00:00:5e:00:04:0b),Dst:HonHaiPr_69:18:5d(18:f4:6a:69:18:5d)EinternetProtocolversion4,src:218.201.4.3(218.201.4.3),Dst:111,10.81.143(111.10.81.143)UserDatagramProtocol,SrcPort:domain(53),DStPort:61742(61742)+Domain
31、Namesystem(response)图14DNS应答报文可以看出,DNS请求报文与应答报文链路层的MAC地址相反,请求报文中的源物理地址为本机的物理地址,这与IP地址相对应。此外,DNS请求报文与应答报文传输层中UDP的源端口与目的端口相反,其中请求报文UDP的源端口为客户机动态申请的本地端口,目的端口为DNS所固有的53号周知端口。这两点都表达了DNS请求报文与应答报文间的请求-应答关系。DNS请求报文与应答报文协议树窗口显示的协议层次与网络协议的层次对应相同,如下表:树节点名称对应的协议层次说明Frame物理层EthernetII数据链路层以太网协议InternetProtocol网络
32、层IP协议UserDatagramProtocol传输层UDP协议DomainNameSystem应用层DNS域名系统3UDP节点DNS请求报文:BUserDatagramProtocol,SrcPort:61742(61742),DstPort:domain(53)Sourceport:61742(61742)Destinationport:domain(53)1.ength:39checksum:0x70cfvalidationdisabled图15UDP请求报文DNS应答报文aUserDatagramProtocol,SrcPort:domain(53),DstPort:61742(61
33、742)Sourceport:domain(53)Destinationport:61742(61742)1.ength:119国checksum:Ox5b66validationdisabled图16UDP应答报文DNS请求与应答报文的源与目的端口相反,请求报文UDP长度为39字节,应答报文UDP长度为119字节。4 DNS请求报文DomainNameSystem(query)Responsein:IllTransactionID:0xda630Response: Message is a query.000 0opcode: standard query (0)0=Truncated: M
34、essage is not truncated 1=Recursion desired: do query recursively 0Z: reserved (0)0 Non-authenticated data: unacceptable Questions: 1 Answer RRs: 0Authority RRs: 0Flags:OxOlOOStandardqueryAdditionalRRs:0QueriesB:typeA,classINName:Type:A(Hostaddress)Class:IN(0x0001)图17DNS请求报文标识字段:0xda63H,用于匹配请求与响应标志字
35、段:OxO100HQR:0,为请求报文OpCode:0000(0),标准查询(正向解析)AA:0,此字段只在效劳器的响应中有效,在上图中不显示TC:0,报文没有被截断RD:1,请求效劳器进行递归解析RA:0,此字段只在效劳器的响应中有效,在上图中不显示3比特保存位:000rCode:0000,没有错误问题记录数:1答免记录数:0(DNS请求报文此字段为0)授权记录数:0(DNS请求报文此字段为0)附加信息记录数:0(DNS请求报文此字段为0)5 DNS应答报文DomainNameSystem(response)Reauestin;101Time:0.057400000secondsTransa
36、ctionID:0da63QFlags:08180Standardqueryresponse,noerror1-Response:Messageisaresponse.0000-Opcode:Standardquery(0)0-Authoritative:Serverisnotanauthorityfordomain0三Truncated:Messageisnottruncated1-Recursiondesired:doqueryrecursively1三Recursionavailable:servercandorecursivequeries0=z:reserved(0)0三Answer
37、authenticated:AnSWer/authorityportionwasnotauthenticatedbytheserver0.=NOn-authenticateddata:unacceptable0000=Replycode:noerror(0)Questions:1AnswerRRs:5AuthorityRRs:0AdditionalRRs:0S)QueriesaAnswers图18DNS应答报文标识字段:0xda63H,用于匹配请求与响应,此处与DNS请求报文相匹配。标志字段:Ox818OHAQR:1,为应答报文 OpCode:0000(0),标准查询(正向解析)(与请求报文相
38、同)AAA:0,答复的效劳器是该域的授权效劳器ATC:0,报文没有被截断ARD:1,请求效劳器进行递归解析(与请求报文相同) RA:1,效劳器支持递归解析(回应RD) 3比特保存位:OOOArCode:0000,没有错误问题记录数:1答复记录数:5授权记录数:0附加信息记录数:0 AnswersE WW: . : : E : (S :type a, class in, type A1 class in, type a, class in, type a, class in, type A, class in,addr 203.208.36.17addr 203.208.36.20addr 20
39、3.208.36.18addr 203.208.36.19addr 203.208.36.16图19解析的IP地址三、心得体会经过本次对TCP三次握手过程和DNS域名系统的抓包实验的分析,我加深了对三次握手和DNS域名系统的理解和掌握。三次握手过程是每一次面向连接的通信中必不可少的过程。每次的连接就有三个阶段,即连接建立、数据传送和连接释放。从DNS的含义上,DNS是由解析器和域名效劳器组成的,其中,域名效劳器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的效劳器。它主要有主效劳器和转发效劳器两种形式。在理解了DNS的含义后,我又对其具体构成进行了深入的掌握和理解。本次实验,也让我对DNS的理解到达了理论与实际相结合的程度。另外,我也通过实验初步掌握了软件WireShark的使用,也让我感受到了亲自动手进行实验的乐趣。