分析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则连接建立成功
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值