资源描述:
《用wireshark捕获三组协议并分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一.TCP三次握手协议分析第一次握手A的TCP客户进程首先创建传输控制模块TCB,然后向B发出连接请求报文段,这是首部中的同步位SYN二1,同时选择一个初始序号seq^xJCP规定,SYN报文段不能携带数据,但要消耗一个序号,这时,TCP客户进程进入SYN-SENT状态;第二次握手:B收到连接请求报文段后,如同意建立连接,则向A发送确认。在确认报文段中应把SYN位和ACK位置1,确认号ock=x+l,同时也为自己选择—个初始序号seq=y.但也要消耗一个序号,这时TCP服务器进程进入SYN-RCVD状态;
2、第三次握手:客户进程向B发送确认,确认报文段的ACK置1,ock二y+1,而自己的序号seq二x+1。这时,TCP连接已经建立,A进入ESTABLISHED状态。完成三次握手,客户端与服务器开始传送数据.No.TimeSourceDestinationProtocoibwgthWo706.597205222.25.159.249218.30.19.40DNS91Standardqueryaaaasafebrowsing.clients.google.com716.599346218.30.19.40222
3、.25.159.249DNS193Standardqueryresponsecnameclients.1.google.cowckameclients-china・l.goog】726.605017222.25.159.24974.125.235.137TCP6650011>http[SYN]Seq-0win-8192Len-0mss-1460ws^SACICPERX-I736.697823222.25.159.66222・25・159・255BROWSER240BrowserElectionReques
4、t746.71295574.125.235.137222.25.159.249TCP66http>50011(SYN,ack]Seq-0Ack-1wir>14300Len-0MSS-1430SACKJ>ERF-1WS-64756.713058222.25.159.24974.12S.23S.137TCP5450011>http[ACK]Seq-1Ack-1win-65780Len-0vr夕Headerchecksua:0x29el[correct][Good:True][Bad:False]Source:
5、222.25.159.249(222.25.159.249)Destination:74.125.235.137(74.125.235.137)TransiissioncontrolProtocoltsrcPort:50011(50011),DstPort:http(80),Seq:0,Len:0Sourceport:50011(50011)Destinationport:http(80)[Streamindex:10]Sequencenumber:0(relativesequencenumber)W:(
6、M»(SYM)Headerlength:32bytes000■Reserved:Notset•••0・Nonce:Notset....0»CongestionwindowReduced(CWR):Notset0・ECN-Echo:Notset0«urgent:notset0....・Acknowledgement:Notset0...«Push:Notset0..・Reset:Notset目的主机地址为源主机端口号目的端口号74.125.235.1375001180第72行为TCP第一次握手连接,A主机发
7、送码中首部的同步位SYN二1,初始序号seq二0;主机B由SYN二1知道,A要求建立联机;第二次握手:主机B收到请求后要确认联机信息,向A发送ocknumber=(主机A的seq+l),SYN二1,ock二1,随机产生seq=l的包.第三次握手:主机A收到后检查ocknumber是否正确,即第一次发送的seqnumbe叶1,以及位码ock是否为1,若正确,主机A会再发送ocknumber二(主机B的seq+l),ACK=l,主机B收到后确认seq值与ACK=1则连接建立成功。完成三次握手,主机A与主机B开
8、始传送数据。第一次握手标志位:可以看岀同步位为1,即在做请求(SYN)oHeaderlength:32bytes曰Flags:0x02(SYN)000=Reserved:Notset...0=Nonce:Notset•…0=congest!onwindowReduced(cwr):Notset0=ECN-Echo:Notset0=urgent:Notset0••••=Acknowledgement:Notset0...=Pus