TCP 之 抓包分析
首先,要对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 之 抓包分析相关推荐
- TCP协议抓包分析 -- wireshark
TCP协议抓包分析 – wireshark TCP- (Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于IP的传输层协议.它的主要目的就是为数据 ...
- TCP头部格式详解,附Wireshark对TCP头部抓包分析
TCP之所以能为数据通讯提供可靠的传输,主要在于TCP数据包头部功能非常多. 那么,我们先来看看TCP头部格式(RFC 793.1323定义了TCP头部): TCP头部格式中的内容解析如下:(文末还有 ...
- Wireshark数据抓包分析——网络协议篇
Wireshark数据抓包分析--网络协议篇 Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wiresh ...
- Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析
Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...
- (四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析
目录 1. 通过netstat来分析服务器和客户端的TCP状态 2.通过tcpdump抓包分析服务器和客户端的TCP状态 2.1 语法
- socket抓包_64、抓包分析tcp与udp
从前面的两个案例,我们了解到了如何通过原生socket函数分别创建tcp和udp服务,以及通过相应的客户端进行连接测试.在本文中,我们将继续深入地去了解tcp和udp的差别,和思考它们两者如何应该多个 ...
- TCP/IP详解卷1 - wireshark抓包分析
TCP/IP详解卷1 - 系列文 TCP/IP详解卷1 - 思维导图(1) TCP/IP详解卷1 - wireshark抓包分析 引言 在初学TCP/IP协议时,会觉得协议是一种很抽象的东西,通过wi ...
- 接口协议之抓包分析 TCP 协议
TCP 协议是在传输层中,一种面向连接的.可靠的.基于字节流的传输层通信协议. 环境准备 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddl ...
- 用wireshark抓包分析TCP协议的三次握手连接、四次握手断开
用wireshark抓包分析TCP协议的三次握手连接.四次握手断开 一.TCP三次握手图解 二.TCP得四次挥手过程 三.用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 一.TCP三 ...
- Wireshark抓包分析微信功能----tcp/ip选修课期末大作业
分析相关功能所抓取的数据包和完整大作业报告(word版)均已上传至Wireshark抓包分析微信功能----tcp/ip选修课期末大作业-网络监控文档类资源-CSDN文库 适合Wireshark入门的 ...
最新文章
- Linux系统平台上软件安装心得
- LayerDate渲染多个class出现闪现问题的解决
- 002_Spring Data JPA CRUD
- Winform中设置ZedGraph多条Y轴时与多条曲线一一对应
- 「雕爷学编程」Arduino动手做(19)—震动报警模块
- JS判断图片是否加载完毕
- 毕设日志——TensorFlow安装的numpy覆盖?掉了pytorch的numpy
- 不要版面费的期刊名称
- C# globle应用
- Windows下批处理一键修改系统时间并运行程序
- 华为天才少年——稚晖君!
- item_get - 根据ID取聚美优品商品详情
- 席卷全球的大数据发展趋势需要什么?
- 【空间统计之六】点数据集方向分布统计(标准差椭圆)
- UVA 167(The Sultan's Successors)八皇后回溯
- 毕业设计——基于Spring boot框架的 AI智能大数据医疗诊断平台
- Cool Edit之生成.pk文件问题
- HDLBITS笔记34:Lemmings1、Lemmings2、Lemmings3、Lemmings4
- 跟我一起玩Win32开发(1):关于C++的几个要点
- Ubuntu中搜狗输入法安装