wireshark-005-分析TCP三次握手及四次挥手

TCP协议的三次握手和四次挥手,之前一直停留在理论上, 现在用wireshark软件来进行实际分析,加深理解。


一、使用wirehsark获取一次tcp三次握手和四次挥手的报文(这里抓取的是本地回环的数据)

二、三次握手过程

图片来自网络

  • 第一次握手(客户端主动发起,SYN置1,序号为X=0)
  • 第二次握手(服务端回复,SYN和ACK标志位置1,初始序列号置0,确认序列号置为X+1=1)
  • 第三次握手(客户端收到服务器发来的包后检查确认序号(Acknowledgement Number)是否正确,即第一次发送的序号加1(X+1=1)。以及标志位ACK是否为1。若正确,客户端再次发送确认包,ACK标志位为1,SYN标志位为0。确认序号(Acknowledgement Number)=Y+1=0+1=1,发送序号为X+1=1)

三、四次挥手过程

注 :四次挥手可以由客户端或者服务端发起

  • 第一次挥手(标志位FIN和ACK置为1,序号为X=1,确认序号为Z=N[取决于之前的最后一次数据传输中的ACK数据])
  • 第二次挥手(服务端收到FIN后,发回一个ACK(标志位ACK=1),确认序号为收到的序号加1,即X=X+1=2。序号为收到的确认序号=Z。)
  • 第三次挥手(服务端关闭与客户端的连接,发送一个FIN。标志位FIN和ACK置为1,序号为Z,确认序号为X=2)
  • 第四次挥手(客户端收到服务器发送的FIN之后,发回ACK确认(标志位ACK=1),确认序号为收到的序号加1,即Z+1。序号为收到的确认序号X=2。)

先整理到这里,后边有机会再完善。

猜你喜欢

转载自www.cnblogs.com/TianYunWuYan/p/12641485.html