通过wireshark抓包来分析tcp的三次握手和四次挥手过程
一、TCP/IP数据传输流程
二、抓包
通过wireshark软件来抓包。
本例抓取到的包里面除了常规的三次握手,数据传输以及四次挥手外,还有一个黑色的【tcp dup ack】。这个是一个重复的ack。可以看到刚好和上一个ack是重复的。tcp本身有处理重复ack的机制:忽略。
2.1 三次握手
- syn(client to sever)
- syn,ack(server to client)
- ack(client to server)
通过三次握手确定了双方的初始序列号,mss,初始的window size。本例中最终的mss为1412,初始window size为65535.
2.2 数据传输
发送了HTTP请求,get请求
得到304的response,大部分情况下得到的应该是200。本例是随机抓取的微软补丁的请求数据,resonse是304
2.3 四次挥手
挥手继续由客户端发起
- fin,ack(client to server)
- ack(server to client)
- fin,ack(server to client)
- ack(client to server)
三、flow graph
statistics-》flow graph菜单查看,可以得到相对比较简洁的流程
纯tcp flow
在flow type中选择的tcp flows可以看到纯tcp的交互流程,便于学习掌握tcp的交互。
作者:iBrake
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.