首页 > 其他分享 >满满干活-wireshark进阶篇《Wireshark的TCP协议数据包常见报错提示》,练就你火眼金睛,助您快速在百万数据包中定位原因

满满干活-wireshark进阶篇《Wireshark的TCP协议数据包常见报错提示》,练就你火眼金睛,助您快速在百万数据包中定位原因

时间:2024-07-15 18:30:28浏览次数:20  
标签:FULL 重传 TCP 助您 WINDOW 报错 数据包 客户端

文章目录

概要

本文介绍Wireshark的数据包常见报错提示,包括TCP PORT NUMBERS REUSED 和TCP WINDOW FULL以及TCP ZeroWindow与 TCP Window Update的出现原因和解决思路。废话不多说,我们开始吧

!!!!

1.TCP PORT NUMBERS REUSED 当四元组相同时会出现报错

在这里插入图片描述
例如以下图为例子:
当数据包重传的时候 wireshark检查发现 我上个连接还没断 我新的连接又是同样的四元组 源ip 端口 目的ip 端口一样 就会出现TCP PORT NUMBERS REUSED的提示
在这里插入图片描述

为什么会出现这个问题呢?
1.SYN报文重传导致

2.端口复用导致。

怎么快速判断是哪种原因导致的呢?
可以通过SEQ实时序列号来快速判断,(序列号一定要看实时开关哦-不知道可以自行百度)大家请看下图
1,2,3的数据包 seq大小一样,而4,5数据包大小不一样
那到底1,2,3,和4,5哪个是重传 哪个是端口复用呢。
聪明的小伙伴就发现了 我重传SYN 我肯定开始序列号得一样呀 但是我端口复用的话 我是新建一个会话 我肯定要随机生成一个不一样的SEQ,猜到的小伙伴请在评论区打猜到了。
在这里插入图片描述

2.TCP WINDOW FULL与TCP ZERO WINDOW之你怎么还不回我啊与我不行了。

如下图所示
TCP WINDOW FULL 表示我最多只能接受多少个 客户端你看着来发 但是客户端没有收到这个接受窗口出现的提示
TCP ZERO WINDOW 表示 我顶不住了 你别发数据包了
重复发TCP WINDOW FULL 表示客户端怎么还不回我啊,我不行我再发一个。
在这里插入图片描述

为什么会出现这个问题呢?
原因需要结合具体业务去排查 这个是网络带宽或者是服务器性能本身有瓶颈导致的

怎么解决呢?
具体排查出原因,带宽问题加带宽 服务器问题加配置,因地制宜,具体问题具体分析。

3.TCP Window Update 之我又行了 能工作了

前文有讲过TCP ZERO WINDOW 表示我饱和了无法处理数据了 那此时客户端不会再向服务端发送数据了 那什么时候发送数据呢
当服务器发送TCP Window Update 表示我当前可以正常接受数据了,那客户端就会继续往服务器发数据
在这里插入图片描述
为什么会出现这个问题呢?
原因需要结合具体业务去排查 这个是网络带宽或者是服务器性能本身有瓶颈导致的

怎么解决呢?
具体排查出原因,带宽问题加带宽 服务器问题加配置,因地制宜,具体问题具体分析。

小结

我TCP的研究比较多 TCP的也是互联网中涉及最多 也是最常见的那几个。点赞评论可以催更 下一期想看什么内容想学什么协议的可以在评论区说出来哦。也可以催更

标签:FULL,重传,TCP,助您,WINDOW,报错,数据包,客户端
From: https://blog.csdn.net/weixin_45247563/article/details/140445205

相关文章

  • Linux 报错INFO: task blocked for more than 120 seconds
     一般情况下,Linux会把可用内存的40%的空间作为文件系统的缓存。 当缓存快满时,文件系统将缓存中的数据整体同步到磁盘中。但是系统对同步时间有最大120秒的限制。 如果文件系统不能在时间限制之内完成数据同步,则会发生上述的错误。 这通常发生在内存很大的系统上。系统......
  • yarn更新依赖报错:Extracting tar content of undefined failed, the file appears to
    今天从一个git库里更新代码,用yarn安装依赖一直报错。提示如下:Extractingtarcontentofundefinedfailed,thefileappearstobecorrupt,百思不得其解,查了资料说淘宝的镜像源不能用了。用yarninstall--registryhttps://mirrors.huaweicloud.com/repository/npm/,这样解决了......
  • nginx ./nginx -s reload 工作进程pid与实际不一致导致平滑重启报错
    某次修改nginx配置后使用./nginx-sreload重启nginx,结果报错,如图所示,去kill工作进程的时候显示找不到该进程原因是位于nginx/logs下的nginx.pid中的pid和实际不一致造成的nginx.pid文件是Nginxweb服务器在启动时创建的一个进程标识符(PID)文件。这个文件包含......
  • Windows Server 2022 中SQL查询报错:error setting locale info for codepage 65001(取
    解决问题:刚开始我以为是SQLServer升级过程中遇到错误,后面仔细检查错误日志,发现我忽略了一个重要的错误信息“Thecodepage65001isnotsupportedbytheserver.”,codepage65001对应的编码为UTF-8,而数据库排序规则为Chinese_PRC_CI_AS,对应的codepage为936。原来这台SQLSe......
  • java 连接 oracle数据库时报错 Oracle JDBC驱动未找到! No suitable driver found for
    在用IDEA编写java连接Oracle时,报错:OracleJDBC驱动未找到!可这部分之前测试是好用。想来想去。哦,我把这个项目代码换过路径,问题就出在这。需要重新引用下  ojdbc6.jar架包 下面是java连接oracle的部分代码ClassNotFoundException可以捕获OracleJDBC驱动未找到的异......
  • sqlalchemy pandas转化字典转为orm写入到sqlite数据库报错类型错误的解决办法
    使用pandas读取csv数据,然后将其转化为字典,再写入到数据库的时候,数据库总是报错类型错误,于是转为orm之前,统一转化一下类型fromsqlalchemyimportDECIMAL,Index,String,Date,Integer,Text,CHAR,SmallInteger,Float,Time,case,and_,extract,TypeDecoratorfrom......
  • KEIL出现error: L6002U: Could not open file ...报错
     在对MSPM0L1306进行工程移植时,依照参考方法更新头文件路径后出现一个报错:.\Objects\empty_LP_MSPM0L1306_nortos_keil.axf:error:L6002U:Couldnotopenfile../../../../../../source/ti/driverlib/lib/keil/m0p/mspm0l11xx_l13xx/driverlib.a:Nosuchfileordirec......
  • 【小白向】在conda-forge中下载cudatoolkit和cudnn报错
    由于直接condasearch没有想要的cudatoolkit版本(当前windows对应的tensorflow-gpu只能<2.11),所以换成conda-forge进行搜索,condainstallcudatoolkit==11.2.0后报错:ERRORconda.core.link:_execute(950):Anerroroccurredwhileinstallingpackage'conda-forge::cudatoolki......
  • OpenFlow 是一个网络通信协议,它允许网络管理员通过中央控制器(如 OpenFlow 控制器)来编
    OpenFlow是一个网络通信协议,它允许网络管理员通过中央控制器(如OpenFlow控制器)来编程定义网络中的数据包转发行为。OpenFlow协议通常用于软件定义网络(SDN)架构中,其中网络控制平面与数据转发平面是分离的。在Python中,直接编写与OpenFlow交换机交互的代码通常涉及使用......
  • 运行rootcrs.pl 报错(Can't locate Env.pm)
    运行rootcrs.pl-deconfig-force-verbose报错(Can'tlocateEnv.pm) 1、一套11gR2RAC测试环境,折腾崩溃了,打算deconfig重构集群,于是运行了如下命令:[root@11grac111grac1]#/u01/app/11.2.0.4/grid/crs/install/rootcrs.pl-deconfig-force-verboseCan'tlocateEnv.pm......