wireshark抓包,异常数据分析常见RST介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wireshark抓包,异常数据分析常见RST介绍相关的知识,希望对你有一定的参考价值。

参考技术A

Wireshark(前称Ethereal)是一个网络封包分析软件,可分析网路状态,丢包率等。

下面介绍常见的TCP层的常用FLAGS。

一般地,只是单个的一个SYN,它表示的只是建立连接。当出现SYN和ACK可能同时为1,我们认为客户端与服务器建立了一个连接。而当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;而RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。

注意:理论上,Syn 应该初始值是个随机数的,后面的要根据初始值增加 ,wireshark为了好区分从0开始的,可以自行设置显示原始Syn

在TCP传输过程中,同一台主机发出的数据段应该是连续的,即后一个包的Seq号等于前一个包的Seq + Len(三次握手和四次挥手是例
外)当后Seq>前Seq +Len,就知道中间缺失了一段数据。

[TCP Out-of-Order] 乱序
Wireshark在获取包序号26时发现seq=18981,而包序号25的数据包seq = 20441,所以wireshark认为数据包顺序错了

当乱序或者丢包发生时,接收方会收到一些Seq号比期望值大的包。此时就会Ack就说我想获取seq=28852的数据包而你给了我其他包。

当发送方收到3个或以上[TCP Dup ACK],就意识到之前发的包可能丢了,于是快速重传它(这是RFC的规定)。

如果一个包真的丢了,又没有后续包可以在接收方触发[Dup Ack],就不会快速重传,只能超时重传。

1.端口未打开
服务器程序端口未打开而客户端来连接。这种情况是最为常见和好理解的一种了。去telnet一个未打开的TCP的端口可能会出现这种错误。

2. 请求超时
查看2次包的时间间隔

3. 服务端关闭的socket

4. 防护墙拒绝了请求

5. 移动链路

移动网络下,国内是有5分钟后就回收信令,也就是IM产品,如果心跳>5分钟后服务器再给客户端发消息,就会收到rst。也要查移动网络下IM 保持<5min 心跳。

6. 负载等设备
负载设备需要维护连接转发策略,长时间无流量,连接也会被清除,而且很多都不告诉两层机器,新的包过来时才通告rst。

Apple push 服务也有这个问题,而且是不可预期的偶发性连接被rst;rst 前第一个消息write 是成功的,而第二条写才会告诉你连接被重置

7. 超过超时重传次数、网络暂时不可达

以上是关于wireshark抓包,异常数据分析常见RST介绍的主要内容,如果未能解决你的问题,请参考以下文章

网络抓包wireshark

用Wireshark分析Socket连接建立的过程

007_wireshark分析TCP的三次握手和四次断开

如何用wireshark分析抓包

抓包工具-Wireshark(详细介绍与TCP三次握手数据分析)

怎么用wireshark抓包具体ip