Wireshark TS | TCP Previous Segment Lost
问题背景
某用户提出一个疑似网络通信问题,相关描述:远程用户通过 ISP MPLS 专线连接至远程分支机构,通过浏览器尝试访问位于远程分支机构的某系统管理页面,但未能成功,而本地用户访问则正常。检查网络层基本连接正常,从远程用户 PC 到系统服务器 Ping 成功,且 Telnet 80 端口也正常。但是 Web 浏览时请求图形数据时不起作用。
考虑到问题比较典型,且有完整的数据包供下载分析,故分享之。
案例取自 Wireshark 官方问答论坛
问题分析
正常工作
本地用户正常 Web 访问的抓包数据如下,简要分析如下:
- 数据包在客户端上抓取;
- TCP 三次握手正常,客户端 MSS 1260,服务器端 MSS 1460,RTT 0.025316s ,不支持 SACK;(注:该问题提出者描述的本地用户访问,但从 RTT 来说大约有 25ms ,也不像是本地访问的延时,略过)
- 客户端 HTTP GET 请求,服务器端 301 重定向,之后正常的 GET 及 200 响应;
- 服务器端开启了 delay ack ;
- 服务器端能按照最大 MSS 1260 传送,即长度为 1314 字节的数据包。
非正常工作
远程用户非正常 Web 访问的抓包数据如下,简要分析如下:
- 数据包同样在客户端上抓取;
- TCP 三次握手正常,客户端 MSS 1260,服务器端 MSS 1460,RTT 0.045647s,确实高于以上所说的本地访问,不支持 SACK;
- 客户端 HTTP GET 请求,服务器端依然 301 重定向,之后正常的 GET 及 200 响应;
- 服务器端开启了 delay ack ;
- 数据传输阶段,连续出现 [TCP Previous segment not captured] 提示,服务端最大传输长度仅为 654 字节,其实对比正常工作的数据包,故障原因已经很明显,客户端未能正常收到服务器发送的 MSS 1260 的数据包;
- 13 帧 Seq 2944 - 424 = 2520,认为之前可能丢失了 2 个 MSS 数据包;15 帧 和 17 帧问题同样;中间夹杂客户端 [TCP Dup ACK 14#] 提示,请求服务器端重新传输 Seq 为 424 的分段;
- 服务器端发送的数据包 IP 首部中 Don’t fragment 设置为 1,为不分段。
问题总结
综合以上分析,基本确认为 MTU 问题。在 ISP 专线传输中间疑似有小 MTU 设备,且服务器端所发送的数据包设置为不分段,因此造成数据丢包,客户端无法正常收到数据包,造成 Web 浏览系统管理页面异常。
MTU 问题在广域网上较为典型,可利用 ping 来做检测,ping 大包不分段 或者 ping 直接抓包均可看到现象。
参考
https://osqa-ask.wireshark.org/questions/11146/tcp-previous-segment-lost-really-rare-case/
感谢阅读,更多技术文章可关注个人公众号:Echo Reply ,谢谢。
Wireshark TS | TCP Previous Segment Lost相关推荐
- Wireshark TS | 丢包?不要轻易下结论
问题背景 首先,案例来自于互联网,数据包分析过程相对简单,但对个人来说,算是之前没实际碰到的情况,因此分享一下. 问题描述 当第一次查看数据包文件时,一眼就能看到 "Bad TCP" ...
- TCP ACKed unseen segment TCP Previous not captured
TCP ACKed unseen segment TCP Previous not captured 对此,考虑是否包太大,网卡的mtu设置设置太小导致的
- 如何利用wireshark对TCP消息进行分析
原文:https://www.cnblogs.com/studyofadeerlet/p/7485298.html 如何利用wireshark对TCP消息进行分析 (1) 几个概念介绍 1 seq:数 ...
- TCP头部格式详解,附Wireshark对TCP头部抓包分析
TCP之所以能为数据通讯提供可靠的传输,主要在于TCP数据包头部功能非常多. 那么,我们先来看看TCP头部格式(RFC 793.1323定义了TCP头部): TCP头部格式中的内容解析如下:(文末还有 ...
- Wireshark图解TCP三次握手与四次挥手
Wireshark图解TCP三次握手与四次挥手 1. TCP 包头结构 2 三次握手 2.1 图解 2.2 使用 tcpdump 和 wireshark 解读三次握手过程 3 四次挥手 3.1 客户端 ...
- 从Wireshark看TCP连接的建立与关闭
TCP是一种面向连接.可靠的协议.TCP连接的建立与断开,都是需要经过通信双方的协商.用一句话概括就是:三次握手say hello(建立连接):四次握手say goodbye(断开连接).要了解TCP ...
- 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...
<计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...
- 使用WireShark查看TCP的三次握手
WireShark是一种非常方便的网络抓包工具,下面演示,使用WireShark来抓取TCP的三次握手过程. 一.TCP的三次握手过程如下: 1)客户端发送序列号为Seq = c的SY ...
- wireshark分析tcp协议(二)四次挥手(异常情况)【理论 + 实操】
上一章:wireshark分析tcp协议(一)三次握手[理论 + 实操] 在完成对三次握手的抓包后,间隔了一段时间,来进行四次挥手的抓包. 知识背景 问题一:为什么要四次挥手呢? 在上一章的三次挥手中 ...
最新文章
- Spark任务提交流程
- 【Java 并发编程】线程操作原子性问题 ( 问题业务场景分析 | 使用 synchronized 解决线程原子性问题 )
- 动态生成控件的消息处理
- ajax布林德,布林德重返阿贾克斯引热议,多面手为何在穆帅手里无作为
- vue组件化通信之兄弟组件传值
- Zend AMF 相关文章
- 一个简单的shell文件备份脚本
- 一文详解自然语言处理任务之共指消解
- hge引擎写的一个扫雷小游戏
- Go语言中间件框架 Negroni 的静态文件处理源码分析
- Mac:当iPhone连接苹果电脑时,自动弹出照片的解决方案
- openwrt中磁盘未分配空间挂载
- 特征工程-使用随机森林进行缺失值填补
- 分式化简结果要求_分式的化简(含答案)
- 如何引流?分享6个零成本引流获客方式,秒杀全网
- 三款html版女朋友表白告白代码,动态爱心表白代码,总有一款适合你,可定制表白内容
- [PHP源码阅读]strtolower和strtoupper函数
- 3D 定制 女仆2/ CM 3D2 制作精美动画必备软件下载
- 解决物理机和kvm虚拟机鼠标不同步问题
- 地震烈度速报崇州设7个播报台
热门文章
- 涅槃?高效报表开发人员的五件武器
- Spring|Spring知识点总结思维导图
- 北京中医药大学22春《生理学Z》平时作业3【辅导答案】
- php微信支付mch_id参数格式错误,在.net core上,Web网站调用微信支付-统一下单接口(xml传参)一直返回错误:mch_id参数格式错误...
- 男人的友谊与女人的友谊
- Chrome截取长屏图片
- 【微信开发|PHP】设置关注自动回复,关键词自动回复。
- Python之条件竞争
- 量子计算机可以制造意识吗,量子力学预测:意识可以决定物质,宇宙可能只是一道程序...
- 1484: 青蛙(四)