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://img1.51cto.com/attachment/201306/160930818.jpg)
本文出自 “移动开发” 博客,请务必保留此出处http://kakadu.blog.51cto.com/4050768/1232299
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://img1.51cto.com/attachment/201306/160930818.jpg)
本文出自 “移动开发” 博客,请务必保留此出处http://kakadu.blog.51cto.com/4050768/1232299
相关文章推荐
- TCP:WireShark分析,序列号Seq和确认号Ack
- Wireshark实战分析之TCP协议
- Wireshark抓包分析TCP的建立与断开过程
- 网络-UDP,TCP数据包的最大传输长度分析
- 无线网络中传输层通信协议分析与比较(TCP与UDP)
- 使用wireshark分析TCP ——以HTTP协议为例
- 使用wireshark分析TCP/IP协议中TCP包头的格式
- 用Wireshark简单分析HTTPS传输过程-抓包过程
- TCP协议可靠性数据传输实现原理分析
- Linux 网络协议栈开发基础篇(十二)—— 使用wireshark分析TCP/IP协议中TCP包头的格式
- Wireshark抓包分析TCP的建立与断开过程
- Wireshark抓包分析TCP 3次握手、4次挥手过程
- TCP协议可靠性数据传输实现原理分析
- Wireshark数据包分析之TCP协议包解读
- 传输层TCP和UDP的区别分析与应用场景
- Wireshark抓包分析TCP的三次握手
- 传输层TCP和UDP的区别分析与应用场景
- 唯快不破:Linux网络编程--wireshark分析TCP包头的格式
- 用Wireshark简单分析HTTPS传输过程-抓包过程
- 使用wireshark分析TCP及UDP协议