通过wireshark抓包来分析tcp的三次握手和四次挥手过程

一、TCP/IP数据传输流程

二、抓包

通过wireshark软件来抓包。

本例抓取到的包里面除了常规的三次握手,数据传输以及四次挥手外,还有一个黑色的【tcp dup ack】。这个是一个重复的ack。可以看到刚好和上一个ack是重复的。tcp本身有处理重复ack的机制:忽略。

2.1 三次握手

  1. syn(client to sever)
  2. syn,ack(server to client)
  3. ack(client to server)

通过三次握手确定了双方的初始序列号,mss,初始的window size。本例中最终的mss为1412,初始window size为65535.

2.2 数据传输

发送了HTTP请求,get请求

得到304的response,大部分情况下得到的应该是200。本例是随机抓取的微软补丁的请求数据,resonse是304

2.3 四次挥手

挥手继续由客户端发起

  1. fin,ack(client to server)
  2. ack(server to client)
  3. fin,ack(server to client)
  4. ack(client to server)

三、flow graph

statistics-》flow graph菜单查看,可以得到相对比较简洁的流程

纯tcp flow

在flow type中选择的tcp flows可以看到纯tcp的交互流程,便于学习掌握tcp的交互。

作者:iBrake
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/Brake/p/14409985.html