首先,要对tcp通信有一定的了解,如何分析包seq,ack等。
不会的点这里

抓包出现 spurious retransmission

指实际上并没有超时,但看起来超时了,导致虚假超时重传的原因有很多种:

原因

(1)对于部分移动网络,当网络发生切换时会导致网络延时突增
(2)当网络的可用带宽突然变小时,网络rtt会出现突增的情况,这会导致虚假超时重传
(3)网络丢包(原始和重传的包都有可能丢包)会导致虚假重传超时。

tcp虚假重传分析(摘自网络)

分析

当Client端收到Server的SYN+ACK应答后,其状态变为ESTABLISHED,并发送ACK包给Server;
如果此时ACK在网络中丢失,那么Server端该TCP连接的状态为SYN_RECV,并且依次等待3秒、6秒、12秒后重新发送SYN+ACK包,以便Client重新发送ACK包,以便Client重新发送ACK包。
Server重发SYN+ACK包的次数,可以通过设置/proc/sys/net/ipv4/tcp_synack_retries修改,默认值为5。
如果重发指定次数后,仍然未收到ACK应答,那么一段时间后,Server自动关闭这个连接。
但是Client认为这个连接已经建立,如果Client端向Server写数据,Server端将以RST包响应,方能感知到Server的错误。

抓包结果


其他原因:
与网卡驱动能力有关,业务功能bug导致发出的包有细微差异,wireshark没有很直观地展现

WireShark出现的常见提示

TCP Out_of_Order的原因分析

一般来说是网络拥塞,导致顺序包抵达时间不同,延时太长,或者包丢失,需要重新组合数据单元,因为他们可能是由不同的路径到达你的电脑上面。

TCP Retransmission原因分析

很明显是上面的超时引发的数据重传

TCP dup ack XXX#X原因分析

就是重复应答#前的表示报文到哪个序号丢失,#后面的是表示第几次丢失

TCP previous segment not captured原因分析

意思就是报文没有捕捉到,出现报文的丢失

下面就详细的报文进行分析

示例
点击进去,看最下面的异常情况分析即可。

报文分析时遇到的英文缩写
SLE: Sequence Left Edge of already acknowledged data when Selective Acknowledgments are used. 即已收到tcp数据的左边界。
SRE: Sequence Right Edge of already acknowledged data when Selective Acknowledgments are used. 即已收到tcp数据的右边界。

本文来自:
https://www.cnblogs.com/stupidbug/articles/8144236.html
https://blog.csdn.net/huaishu/article/details/93739446
https://blog.csdn.net/chenfengdejuanlian/article/details/53761004
https://blog.csdn.net/season_hangzhou/article/details/48318599

TCP 之 抓包分析相关推荐

  1. TCP协议抓包分析 -- wireshark

    TCP协议抓包分析 – wireshark TCP- (Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于IP的传输层协议.它的主要目的就是为数据 ...

  2. TCP头部格式详解,附Wireshark对TCP头部抓包分析

    TCP之所以能为数据通讯提供可靠的传输,主要在于TCP数据包头部功能非常多. 那么,我们先来看看TCP头部格式(RFC 793.1323定义了TCP头部): TCP头部格式中的内容解析如下:(文末还有 ...

  3. Wireshark数据抓包分析——网络协议篇

    Wireshark数据抓包分析--网络协议篇 Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wiresh ...

  4. Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析

    Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...

  5. (四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析

    目录 1. 通过netstat来分析服务器和客户端的TCP状态 2.通过tcpdump抓包分析服务器和客户端的TCP状态 2.1 语法

  6. socket抓包_64、抓包分析tcp与udp

    从前面的两个案例,我们了解到了如何通过原生socket函数分别创建tcp和udp服务,以及通过相应的客户端进行连接测试.在本文中,我们将继续深入地去了解tcp和udp的差别,和思考它们两者如何应该多个 ...

  7. TCP/IP详解卷1 - wireshark抓包分析

    TCP/IP详解卷1 - 系列文 TCP/IP详解卷1 - 思维导图(1) TCP/IP详解卷1 - wireshark抓包分析 引言 在初学TCP/IP协议时,会觉得协议是一种很抽象的东西,通过wi ...

  8. 接口协议之抓包分析 TCP 协议

    TCP 协议是在传输层中,一种面向连接的.可靠的.基于字节流的传输层通信协议. 环境准备 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddl ...

  9. 用wireshark抓包分析TCP协议的三次握手连接、四次握手断开

    用wireshark抓包分析TCP协议的三次握手连接.四次握手断开 一.TCP三次握手图解 二.TCP得四次挥手过程 三.用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 一.TCP三 ...

  10. Wireshark抓包分析微信功能----tcp/ip选修课期末大作业

    分析相关功能所抓取的数据包和完整大作业报告(word版)均已上传至Wireshark抓包分析微信功能----tcp/ip选修课期末大作业-网络监控文档类资源-CSDN文库 适合Wireshark入门的 ...

最新文章

  1. Linux系统平台上软件安装心得
  2. LayerDate渲染多个class出现闪现问题的解决
  3. 002_Spring Data JPA CRUD
  4. Winform中设置ZedGraph多条Y轴时与多条曲线一一对应
  5. 「雕爷学编程」Arduino动手做(19)—震动报警模块
  6. JS判断图片是否加载完毕
  7. 毕设日志——TensorFlow安装的numpy覆盖?掉了pytorch的numpy
  8. 不要版面费的期刊名称
  9. C# globle应用
  10. Windows下批处理一键修改系统时间并运行程序
  11. 华为天才少年——稚晖君!
  12. item_get - 根据ID取聚美优品商品详情
  13. 席卷全球的大数据发展趋势需要什么?
  14. 【空间统计之六】点数据集方向分布统计(标准差椭圆)
  15. UVA 167(The Sultan's Successors)八皇后回溯
  16. 毕业设计——基于Spring boot框架的 AI智能大数据医疗诊断平台
  17. Cool Edit之生成.pk文件问题
  18. HDLBITS笔记34:Lemmings1、Lemmings2、Lemmings3、Lemmings4
  19. 跟我一起玩Win32开发(1):关于C++的几个要点
  20. Ubuntu中搜狗输入法安装

热门文章

  1. 语音压缩编解码器:lyra
  2. PADS2007教程(二)——PCB封装
  3. 读 自己动手写操作系统
  4. clonecd中文破解版|clonecdv光盘复制工具5.5.1.4绿色免费版下载
  5. 0 1背包问题(dp)c语言,DP实例之01背包问题C语言实现
  6. 简单的背包问题(c语言)
  7. ACDsee_14中文许可证秘钥
  8. 手把手教你架构3D引擎高级篇系列八
  9. 如何通过adb命令将apk包导入到安卓设备上
  10. 麒麟系统安装打印机共享_银河麒麟 惠普打印机驱动怎么安装