Wireshark工作笔记-对TCP连接与断开以及数据传输的实战分析

首先要使用一个TCP/UDP Socket调试工具。

本次使用虚拟机NAT模式,主机IP地址为192.168.164.1,此时主机的/UDP Socket调试工具配置如下:



虚拟机采用Win7 IP地址为192.168.164.101,其TCP/UDP Soceked调试工具配置如下:



在Wireshark过滤器里面输入过滤命令,就能对获取的数据包进行过滤命令如下:

ip.addr==192.168.164.101&ip.addr==192.168.164.1

最终Wireshark获取的数据包如下:


更具上一篇,也就是这篇的笔记https://blog.csdn.net/qq78442761/article/details/80345948

知道TCP连接时有3次握手。

客户机(192.168.164.101)请求连接将发送SYN标志,此时要求建立连接,并产生一个随机的Seq,这里为0


第二次握手,服务器(192.168.164.1)得知客户机(192.168.164.101)要建立连接后,回包给客户机(192.168.164.101)其封包中多了一个ACK的标志,这个ACK的值是客户机(192.168.164.101)发来的Seq的值加1(也就是0+1=1)。并且产生一个随机的Seq发给客户机(192.168.164.101)本次Seq=0。

1

第三次握手,客户机(192.168.164.101)检测服务器(192.168.164.1)发来的数据包是否正确,(第一次握手的,也就是Seq=0的时候)如果是Seq了,也就是0,ack也是1了,就对了,客户机再发送一条数据包,此时Seq+1,为1,Ack为1,此时连接建立。


关于数据传输,带PSH的就为数据传输:如下图



下面来分析,断开连接的四次握手:


首先客户机(192.168.164.101)发送FIN和ACK标志给服务器,其中FIN代表客户机与服务器要分手了。此时的Seq=101,ACK=1。随后服务器(192.168.164.1)两次发送数据包,一个是把Seq置为1,一个是客户机(192.168.164.101)的ACK,

,第二个包是FIN标志的,最后一次是客户机(192.168.164.101)把以前的seq与ACK置换,并ACK+1。

就完成了。


这里可以这么形象的理解:

客户机:我们分手把!

服务器:啥?

服务器:分手就分手,再来找我你就是猪!

客户机:回来找你我就不是人!

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/80349995