网络知识===wireshark抓包出现“TCP segment of a reassembled PDU”的解释(载)
网上胡说八道,众说风云,感觉这篇还算靠谱点。
原文链接:http://blog.csdn.net/dog250/article/details/51809566
为什么大家看到这个以后总是会往MSS,TSO上联系呢?也许第一个解释这个的人是个高手,而且以MSS/MTU/TSO的观点解释了这个问题,还有一种可能就是TSO等技术让人觉得太牛逼,毕竟是底层硬件机制吧,抓包机制又是作用于网卡层面的,所以很自然会觉得TSO会有关联。
事实上,这个跟TSO没有关系!跟MSS有一定的关系但不是全部因果关系,在阐述“TCP segment of a reassembled PDU”之前,先把TSO理清再说。当有人问题“这个包会不会被TSO分段”这类问题时,只要看该TCP数据包的长度,拿它跟MTU比较,如果数据长度更长,则就是TSO。
那么,“TCP segment of a reassembled PDU”究竟是什么呢?答案是,这要向上看,这个跟应用层有关,而与底层关系不大!我用Wireshark的抓包例子来解释这个问题。首先看一个抓包,我们以网络测试工具baidu为例,抓取一个访问其服务器https://14.215.177.38/的一个HTTPS连接的包:
网上很多人在解释这个“TCP segment of a reassembled PDU”的时候(基本都是转载),都说什么“ACK了同一笔数据就会是reassembled PDU”,“同一个GET请求的response”云云...但是很显然,上述我抓包的截图中,402到405号包都有ACK了同一个序列号,但是为什么只有一个“TCP segment of a reassembled PDU”呢??在没有标识reassembled PDU的数据包中,另外标识了TLSv1.2的协议原语。此时,我来做一个动作,按下“Ctrl-Shift-E”组合键,事实上就是点击“分析”菜单,进入“已启用的协议”界面:
反选SSL协议,不再识别SSL协议之后,我们再看402到405号数据包:
没有了“TCP segment of a reassembled PDU”这些,除了没有这些“修饰语”之外,其它的协议层面的数据完全和之前识别SSL协议的时候相符合。我们的结论是,关掉了对SSL协议的识别,就没有了reassembled PDU的修饰,这恰恰是因为SSL协议让Wireshark知道403号包是一个reassembled PDU!如果你不知道这是个SSL协议,你就无法判断出这是不是一个reassembled PDU!
是的,这就是原因。接下来,为什么SSL协议就能识别这是一个reassembled PDU呢?这就要看你对SSL协议是否理解了,起码我是懂的,在握手阶段,Server Hello和Server的Certificate是背靠背发送的,也就是说它们是连着发给Client的,一个Server Hello,外加一个证书,一起发给Client,接下来就是不那么根本但很显然的事情了,如果这些包的总和足够小或者链路的MTU足够大,能够一次性发送过去的话,那当然好,如果不能,很显然要拆成几个分段发送了,如果中间的那个分段不能被SSL协议的原语识别,那么就会被标识成reassembled PDU,这就是为什么404,405号数据包都是连续发送的,但是却未被识别为reassembled PDU,因为SSL协议知道它们是Certificate消息和Server Key Exchange消息。
现在明白了吗?我特意没有用HTTP协议去解释这个而是选择了用SSL协议,目的就是想让大家明白,并不是针对同一个GET请求的同一笔回应会被标识为reassembled PDU!而是完全靠着应用层协议原语来识别协议消息。如果你的Wireshark被配置成不识别任何协议,比如不识别HTTP协议,SSL协议,那也就不会出现reassembled PDU了,因为Wireshark不知道到底是不是!实际上Wireshark支持你去自定义你自己的协议插件,你可以试一下,自己开发一个简单的协议,就算你的TCP数据段总和没有超过一个MSS,比如你的socket每发100字节就sleep 10秒,并且TCP socket没有设置Nagle算法,那么虽然每个段只有100字节,远没有到一个MSS,也会有reassembled PDU的标识!
本质上来讲,reassembled PDU要向上看,而不是去考虑什么底层的MTU,TSO什么的。Wireshark根据它能识别的应用层协议,告诉你哪些数据是属于一个应用层消息的。就这么简单。
顺便提一下
如果你也喜欢Python 这里有一群Python爱好者汇集在此。
关注微信公众号:【软件测试技术】,回复 888,获取QQ群号。
网络知识===wireshark抓包出现“TCP segment of a reassembled PDU”的解释(载)相关推荐
- wireshark 抓包显示 TCP segment of a reassembled PDU的问题
测试tacacs客户端和服务器(TCP)通信发现客户端认证报文发出去了,服务器没收到,抓包显示发送的报文携带了TCP segment of a reassembled PDU这个标识,正常的报文应该解 ...
- 网络知识===wireshark抓包,三次握手分析
TCP需要三次握手建立连接: 网上的三次握手讲解的太复杂抽象,尝试着使用wireshark抓包分析,得到如下数据: 整个过程分析如下: step1 client给server发送:[SYN] Seq ...
- Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析
Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...
- 用wireshark抓包分析TCP协议的三次握手连接、四次握手断开
用wireshark抓包分析TCP协议的三次握手连接.四次握手断开 一.TCP三次握手图解 二.TCP得四次挥手过程 三.用Fiddler抓包,分析验证一个HTTPS网站的TCP连接过程 一.TCP三 ...
- 关于“TCP segment of a reassembled PDU”
为什么大家看到这个以后总是会往MSS,TSO上联系呢?也许第一个解释这个的人是个高手,而且以MSS/MTU/TSO的观点解释了这个问题,还有一种可能就是TSO等技术让人觉得太牛逼,毕竟是底层硬件机制吧 ...
- wireshark抓包理解TCP的三次握手
一.实验目的 通过wireshark抓包工具,抓取客户机访问FTP服务器的连接过程进一步理解TCP的三次握手 二.实验拓扑 三.实验步骤 1.根据拓扑图搭建实验环境. 2.在客户机上安装安装Wires ...
- Wireshark抓包分析TCP连接、发送数据与断开过程
准备工具: 1. 两台连接到同个局域网的电脑,或者虚拟机; 2. 在其中一台电脑安装Wireshark; 3. 在两台电脑上面都有TCP&UDP测试工具软件 TCP连接建立过程(三次握手): ...
- wireshark抓包分析TCP数据包
1.直接从TCP的三次握手开始说起 三次握手就是客户与服务器建立连接的过程 客户向服务器发送SYN(SEQ=x)报文,然后就会进入SYN_SEND状态 服务器收到SYN报文之后,回应一个SYN(SEQ ...
- 【极客思考】计算机网络:Wireshark抓包分析TCP中的三次握手与四次挥手
[前提说明] 前段时间突然看到了一篇关于TCP/IP模型的文章,心想这段时间在家里也用wireshark抓了点包,那么想着想着就觉得需要复习一下网络知识,于是就有这篇博文的诞生.当然网上关于TCP相关 ...
最新文章
- 将 Docker 踢出群聊后,Kubernetes 还能否欢快地蹦跶吗?
- jQuery dataTable 操作个人使用总结
- [蓝桥杯][算法提高VIP]扫雷-枚举
- AT2376-[AGC014D]Black and White Tree【结论,博弈论】
- CSS浮动(二)---Float
- 【NOIP】提高组2013 积木大赛
- Linux—vim/vi 翻页跳转命令快捷键
- 【Kafka】Kafka认证与授权
- Javascript心得(一) Javascript数据类型
- (转)深入剖析ASP.NET的编译原理
- ubuntu批量文件查找替换
- Tik Tok与抖音的不同有哪些
- win10和win7两个计算机相连,详解win10两台电脑网线直连的操作方法
- 微博机型Android怎么去掉,如何设置微博来源中显示出的手机型号 怎么去掉微博来源中的android字样...
- 存储桶上传策略和签名 URL的绕过及利用
- idea创建工程java不是蓝色source
- Java 对象的构造和初始化
- 【NISP一级】4.1 Windows终端安全
- 国产车规级MCU芯片又添一重量级成员,这次竟是国家队?稳了
- 大数据平台资源治理经验总结
热门文章
- Python常见字符编码及其之间的转换
- 怎么将在线pdfword转换器使用
- Q2表现喜忧参半,“在线音频第一股”荔枝还甜吗?
- 智能化时代:前端开发者进阶史
- GCDAsyncSocket two way authentication SSL 双向认证
- 斗鱼html5插件音画不同步,音画不同步在直播中怎么解决?看这篇文章就够了!...
- Springboot毕设项目安易网上商品交易系统6aygw(java+VUE+Mybatis+Maven+Mysql)
- matlab科学计数法输入_matlab提取科学计数法指数
- 弄懂这八个神经网络架构,深度学习才算入门!
- 全国组织机构统一社会信用代码校验 - Java 版