您的位置:首页 > 理论基础 > 计算机网络

WireShark中 TCP传输分析

2013-06-28 18:53 113 查看
以下图为例,简单总结wireshark工具抓到的TCP包中各个字段的名称及含义。
wireshark数据区列表中,第一列为NO., 即包序;第二列是相对时间,第三列是数据源IP,第四列为接受端IP,第五列是协议类型,最后一列是数据info。
第一:三次握手
一般单个数据包的开始便是三次握手阶段。在TCP中,一般server端处于被动打开状态,时刻监听着client过来连接。当client发起连接时会先发送一个SYN报文段给server,称为第一次握手;server收到SYN后会返回一个SYN ACK报文,表示连接请求已收到,做好连接准备,为第二次握手;最后client再发送ACK通知server开始连接,三次握手结束。
第二:数据发送
数据发送的情况会根据不同协议或者协议的不同实现而不同。一般情况是client先发出请求,server对应给出响应。图中client端先发送了PSH ACK报文,表示开始向server 发送请求。正常情况是server端收到请求后开始互相发送ACK报文收发数据。图中NO.1876发出后,在RTT(Round-trip time一次往返传输的时间)时间内未收到server端的ACK,认为1876发送失败,开始自动Retransmission过程。
TCP Dup xxxx#x 表示出现丢包,其中xxxx表示所丢包的序号,x表示该包第几次丢。发现丢包后TCP会自动重发该包。
第三:连接断开
连接可以由server或者client发起断开。首先发起连接断开的一方向另一方发送FIN报文,而另一方回复SYN ACK表示确认。

其它字段基本含义:
Seq:sequence number 在TCP的连接创建状态,两个主机的TCP层间要交换初始序号(ISN:initial sequence number)。这些序号用于标识字节流中的数据,并且还是对应用层的数据字节进行记数的整数。通常在每个TCP报文段中都有一对序号和确认号。确认号为序列号加1.
Win:window 类似缓冲区,用以告诉对方自己下一次最多可以接收多大字节的数据,如果超过则会溢出。
Len:length 表示本次发送数据区长度
MSS:Maximum Segment Size 表示单个TCP区段的最大数据字节长
TSV:TimeStamp value 表示发送该报文时虚拟时钟的时间戳
TSER:TimeStamp Echo Reply 该值会记录最近一次收到的报文中TSV的值,用以判断RTT


本文出自 “移动开发” 博客,请务必保留此出处http://kakadu.blog.51cto.com/4050768/1232299
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: