搜索
写经验 领红包
 > 娱乐

tcp头部分析(tcp头部中有哪些参与tcp三次握手)

导语:分析TCP头的结构,并分析TCP的三次握手过程

分析TCP头的结构,并分析TCP的三次握手过程

技术标签: TCP 网络协议 计算机网络

抓包结束后,可以获得TCP头(灰色部分)

根据TCP头结构对获得的TCP头进行分析

TCP包头占有20个字节“04 12” 表示目的端口号为:1042,可知用了FTP文件文件传输。

“00 15” 表示目标端口,因为我是连接FTP站点,所以,这个就是21,十六进制当然就是“00 15”。

“1d 89 42 0a”表示数据包顺序号(Sequence Number),简写为SEQ,这里等于1383817

“73 9a df 6c”表示确认号(Acknowledgment Number),简写为ACKNUM。在此为不全0,表示连接成功,有确认。

“50 14” 换算成二进制“0101 0000 0001 0100”,两字节中,前4位“0101”TCP为头部长度,用十进制表示为5,转化为字节,总共有5×4=20字节;中间六位为保留,现在TCP协议没有用上,都为0;后面6位为“010100”,是重要的6个标志位6个标志位:URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断 ACK:(Acknowledgment fieldsignificant)置1时表示确认号(AcknowledgmentNumber)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。   PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。   RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。   SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。   FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。 此时SYN=0,ACK=1,未开始请求连接。

“00 00” 两个字节表示窗口大小,没有打开窗口。

“98 ba” 这个16bit是头校验和(Header Checksum)。

“00 00” 为紧急指针,此时表示没有,当且仅当URG同时置1才有效。

TCP的三次握手过程第一次握手:192.168.111.129发送位码syn=1,随机产生SEQ number =1952792680的数据包到192.168.111.130 ,192.168.111.130由SYN=1知道192.168.111.129要求建立联机;

第二次握手:192.168.111.130收到请求后要确认联机信息,向192.168.111.129发送ACK number =1952792681,SYN=1,ACK=1,随机产生SEQ number =812886821的包;

第三次握手:192.168.111.129收到后检查ACK是否正确,即第一次发送的SEQ number + 1,以及位码ACK是否为1,若正确,192.168.111.129会再发送ACK number =812886822,ACK=1,192.168.111.130收到后确认ACK = SEQ + 1,ACK=1则连接建立成功

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小玥创作整理编辑!