问题背景

某用户提出一个疑似网络通信问题,相关描述:远程用户通过 ISP MPLS 专线连接至远程分支机构,通过浏览器尝试访问位于远程分支机构的某系统管理页面,但未能成功,而本地用户访问则正常。检查网络层基本连接正常,从远程用户 PC 到系统服务器 Ping 成功,且 Telnet 80 端口也正常。但是 Web 浏览时请求图形数据时不起作用。

考虑到问题比较典型,且有完整的数据包供下载分析,故分享之。

案例取自 Wireshark 官方问答论坛

问题分析

正常工作

本地用户正常 Web 访问的抓包数据如下,简要分析如下:

  1. 数据包在客户端上抓取;
  2. TCP 三次握手正常,客户端 MSS 1260,服务器端 MSS 1460,RTT 0.025316s ,不支持 SACK;(注:该问题提出者描述的本地用户访问,但从 RTT 来说大约有 25ms ,也不像是本地访问的延时,略过)
  3. 客户端 HTTP GET 请求,服务器端 301 重定向,之后正常的 GET 及 200 响应;
  4. 服务器端开启了 delay ack ;
  5. 服务器端能按照最大 MSS 1260 传送,即长度为 1314 字节的数据包。

非正常工作

远程用户非正常 Web 访问的抓包数据如下,简要分析如下:

  1. 数据包同样在客户端上抓取;
  2. TCP 三次握手正常,客户端 MSS 1260,服务器端 MSS 1460,RTT 0.045647s,确实高于以上所说的本地访问,不支持 SACK;
  3. 客户端 HTTP GET 请求,服务器端依然 301 重定向,之后正常的 GET 及 200 响应;
  4. 服务器端开启了 delay ack ;
  5. 数据传输阶段,连续出现 [TCP Previous segment not captured] 提示,服务端最大传输长度仅为 654 字节,其实对比正常工作的数据包,故障原因已经很明显,客户端未能正常收到服务器发送的 MSS 1260 的数据包;
  6. 13 帧 Seq 2944 - 424 = 2520,认为之前可能丢失了 2 个 MSS 数据包;15 帧 和 17 帧问题同样;中间夹杂客户端 [TCP Dup ACK 14#] 提示,请求服务器端重新传输 Seq 为 424 的分段;
  7. 服务器端发送的数据包 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相关推荐

  1. Wireshark TS | 丢包?不要轻易下结论

    问题背景 首先,案例来自于互联网,数据包分析过程相对简单,但对个人来说,算是之前没实际碰到的情况,因此分享一下. 问题描述 当第一次查看数据包文件时,一眼就能看到 "Bad TCP" ...

  2. TCP ACKed unseen segment TCP Previous not captured

    TCP ACKed unseen segment TCP Previous not captured 对此,考虑是否包太大,网卡的mtu设置设置太小导致的

  3. 如何利用wireshark对TCP消息进行分析

    原文:https://www.cnblogs.com/studyofadeerlet/p/7485298.html 如何利用wireshark对TCP消息进行分析 (1) 几个概念介绍 1 seq:数 ...

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

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

  5. Wireshark图解TCP三次握手与四次挥手

    Wireshark图解TCP三次握手与四次挥手 1. TCP 包头结构 2 三次握手 2.1 图解 2.2 使用 tcpdump 和 wireshark 解读三次握手过程 3 四次挥手 3.1 客户端 ...

  6. 从Wireshark看TCP连接的建立与关闭

    TCP是一种面向连接.可靠的协议.TCP连接的建立与断开,都是需要经过通信双方的协商.用一句话概括就是:三次握手say hello(建立连接):四次握手say goodbye(断开连接).要了解TCP ...

  7. 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...

    <计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...

  8. 使用WireShark查看TCP的三次握手

        WireShark是一种非常方便的网络抓包工具,下面演示,使用WireShark来抓取TCP的三次握手过程. 一.TCP的三次握手过程如下:     1)客户端发送序列号为Seq = c的SY ...

  9. wireshark分析tcp协议(二)四次挥手(异常情况)【理论 + 实操】

    上一章:wireshark分析tcp协议(一)三次握手[理论 + 实操] 在完成对三次握手的抓包后,间隔了一段时间,来进行四次挥手的抓包. 知识背景 问题一:为什么要四次挥手呢? 在上一章的三次挥手中 ...

最新文章

  1. Spark任务提交流程
  2. 【Java 并发编程】线程操作原子性问题 ( 问题业务场景分析 | 使用 synchronized 解决线程原子性问题 )
  3. 动态生成控件的消息处理
  4. ajax布林德,布林德重返阿贾克斯引热议,多面手为何在穆帅手里无作为
  5. vue组件化通信之兄弟组件传值
  6. Zend AMF 相关文章
  7. 一个简单的shell文件备份脚本
  8. 一文详解自然语言处理任务之共指消解
  9. hge引擎写的一个扫雷小游戏
  10. Go语言中间件框架 Negroni 的静态文件处理源码分析
  11. Mac:当iPhone连接苹果电脑时,自动弹出照片的解决方案
  12. openwrt中磁盘未分配空间挂载
  13. 特征工程-使用随机森林进行缺失值填补
  14. 分式化简结果要求_分式的化简(含答案)
  15. 如何引流?分享6个零成本引流获客方式,秒杀全网
  16. 三款html版女朋友表白告白代码,动态爱心表白代码,总有一款适合你,可定制表白内容
  17. [PHP源码阅读]strtolower和strtoupper函数
  18. 3D 定制 女仆2/ CM 3D2 制作精美动画必备软件下载
  19. 解决物理机和kvm虚拟机鼠标不同步问题
  20. 地震烈度速报崇州设7个播报台

热门文章

  1. 涅槃?高效报表开发人员的五件武器
  2. Spring|Spring知识点总结思维导图
  3. 北京中医药大学22春《生理学Z》平时作业3【辅导答案】
  4. php微信支付mch_id参数格式错误,在.net core上,Web网站调用微信支付-统一下单接口(xml传参)一直返回错误:mch_id参数格式错误...
  5. 男人的友谊与女人的友谊
  6. Chrome截取长屏图片
  7. 【微信开发|PHP】设置关注自动回复,关键词自动回复。
  8. Python之条件竞争
  9. 量子计算机可以制造意识吗,量子力学预测:意识可以决定物质,宇宙可能只是一道程序...
  10. 1484: 青蛙(四)