抓包过程中遇到的几种异常报文

tychenk tychenk     2023-02-18     609

关键词:

概述:

       在平时的运维过程中,我们经常会遇到一些数据传输的问题,在我们平时遇到的数据传输问题中定位难度从难到易基本为:数据传输慢不符合预期、数据传输过程有丢包、数据传输被终止或网络断开连接。

       如果要对数据流分析抓包是最直接的办法,它可以帮助你更快的定位问题。最常用的抓包工具:wireshark(windows系统)、tcpdump(linux系统) (工具使用略)

接下来分享下我总结的几个常见数传异常报文:

*TCP Dup Ack(TCP Dup Ack 22#1此报文为22号报文的重发报文)

TCP报文中的Ack字段是对预期达到的下一个报文的序列号,而看到Dup Ack则说明由于某些原因Dup Ack发起方没有收到预期序列号的报文,从而发送Dup Ack再次请求预期数据报文,直到收到预期报文,才会停止发送Dup Ack报文。

遇到此类报文很可能是因为两台终端之间设备有丢包,可能是防火墙或者安全设备将数据包丢弃造成,建议在两台终端之间的其他网络设备进行抓包对比,以确定异常位置。

*TCP Retransmission

TCP retransmission报文代表重传,重传是指具有相同TCP序列号的报文至少两次或多次经过,重传报文是一种很常见的影响数据传输速率的异常报文。

原因分析:

1、两台终端之间的其他网络节点发生功能紊乱,存在丢包,造成对端未收到相应序列号的报文或本端未收到对端的回复报文。(建议检查防火墙,网流分析、信安系统、Ddos等安全设备)

2、对端未正常发送确认报文,对端功能紊乱(多为安全软件或网卡校验功能造成)

3、本端收到确认报文,但没有正常处理(建议检查安全软件,网卡设置等)

*TCP Out-Of-Order

TCP Out-Of-Order是一种TCP报文乱序,报文乱序是指,该报文没有携带续期的序列号,即在同一个TCP连接上,相同源地址发出的后一个TCP报文序列号不等于前一个报文的序列号加上前一个报文的报文长度()Out-Of-Order的乱序主要指实际收到的报文序列号小于预期报文序列号。此报文会与Dup Ack报文匹配出现,因为接收端没有收到预期的序列号,就会再次发送ack报文请求预期序列号报文。

可能原因:中间网络节点之间发生功能紊乱,转发或者发送了异常报文;对端发送了乱序报文。

*TCP Previous Segment Lost

 TCP Previous Segment Lost也是一种TCP报文乱序。此乱序报文主要指实际收到的报文序列号大于预期序列号,或者说实际上在收到这个报文之前还应该收到一个或多个报文,但没有收到。

可能原因:基本同上

*TCP Winodws Update

 TCP Windows Update 表明更改滑动窗口大小,可能变大也可能变小,跟TCP连接上层应用对接收到的报文数据处理速度有关,此报文并不代表一定有异常。

*TCP Zero Windows

 TCP  Zero Windows 表明滑动窗口变成0。

 发生场景

1、TCP连接复位或者断开时,发送ACK消息,知名TCP窗口为0,此种情况无需多关注

2、输出传输过程中出现Zero Windows,TCP连接创建时接收端会通知发送端可用的TCP接收窗口,随着发送端不断往接收端发送数据报文,如果接收端不能及时从TCP接收缓冲中提取报文进行处理,name接收缓冲的积累报文就会越来越多,TCP可用的滑动窗口大小也会越来越小,直到滑动接收窗口变为0。

Zero Winodws消息通常会在接收端TCP接收缓冲满时发出,告诉发送端“数据已满等等”,发送端收到此类通知后,会暂时停止向该接收端发送数据。对于经常出现Zero Windows的TCP连接,部分防火墙的规则会发送RST消息断开这些慢连接。

原因:通常是接收端应用处理不及时。请检查应用程序

*TCP Windows Full

 TCP Windows Full于Zero Windows有一定的联系。数传过程中者两个报文常常会一起出现。区别在于TCP Windows Full出现在发送端-》接收端的报文里,TCP Zero Windows出现在接收端->发送端的报文上。

原因:同上

抓包工具是啥意思?可以干啥用的?

参考技术A抓包工具是拦截查看网络数据包内容的软件。抓包工具是传统固网数通维护工作中罐常用的故障排查工具。通过对抓获的数据包进行分析,可以得到有用的信息。抓包工具支持记录每一抓取报文的时间点,还支持用任... 查看详情

maya小白笔记——maya2018中模型无法选中的几种可能(目前遇到的)

1、问题描述使用Maya2018建模过程中,有时会出现模型无法选中的情况。能看到模型,但是无法选中,本人在实际操作过程中遇到2种情况,现与大家交流。2、模型添加到层(layer)导致无法选中2.1现象 如果层显示模式为“R”... 查看详情

网络报文抓包分析——icmp(代码片段)

网络报文抓包分析——ICMPICMP报文格式报文类型ping的过程wireshark抓包tcpdump抓包通过wireshark和tcpdump分别在win和linux环境对ICMP报文进行抓包分析ICMPICMP主要的功能包括:确认IP包是否成功送达目标地址、报告发送过程中IP包被废... 查看详情

网络报文抓包分析——icmp(代码片段)

网络报文抓包分析——ICMPICMP报文格式报文类型ping的过程wireshark抓包tcpdump抓包通过wireshark和tcpdump分别在win和linux环境对ICMP报文进行抓包分析ICMPICMP主要的功能包括:确认IP包是否成功送达目标地址、报告发送过程中IP包被废... 查看详情

kubernetespod内抓包,telnet检查网络连接的几种方式

...间网络不通,或者端口不通,更复杂的,需要在容器里面抓包分析才能定位。而kubertnets的场景,pod使用的镜像一般都是尽量精简,很多都是基于alpine基础镜像制作的,因而pod内没有ping,telnet,nc,curl命令,更别说tcpdump这种复杂... 查看详情

java常见的几种运行时异常runtimeexception

 常见的几种如下: NullPointerException-空指针引用异常ClassCastException-类型强制转换异常。IllegalArgumentException-传递非法参数异常。ArithmeticException-算术运算异常ArrayStoreException-向数组中存放与声明类型不兼容对象异常IndexOutOfBo... 查看详情

在javascript中检测数据类型的几种方式

在用javaScript编程的过程中,我们经常会遇到这样一个问题,就是需要检测一个数据或变量的类型,那么在javaScript中给我们提供了哪些方法呢?网上流传的代码比比皆是,但是发现其中有些是有误的,索性我自己动手把每种方法... 查看详情

wireshark解析报文一点根据

...问题:遇到一个问题,net-snmp发出trap的时候,通过wireshark抓包发现只能发送知名端口162的告警报文。处理过程如下:检查代码:经过代码排查发现net-snmp没有对端口做任何限制。抓包:经过抓包,发现都发出了UDP报文。对报文进... 查看详情

出现线程死锁的几种情况

原因大致有以下几种:1、所属线程忘了释放锁, 建议使用autolock(封装类的构造函数中上锁,析构函数中释放锁)2、线程中使用了嵌套锁(2个或2个以上的锁)3、owningthread被动的原因无法释放锁,比如1)、使用开源库,异常... 查看详情

项目中经常遇到的跨域请求的几种方法

什么是跨域JSONPproxy代理corsxdr 关于跨域无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-OriginResourceSharing)。IE8、Firefox3.5及其以后的版本、Chrome浏览器、Safari4等已经实现了Cross-OriginRes... 查看详情

jvm类加载

...发生的时间:在Java代码中,类型的加载,连接和初始化过程都是在运行期间完成的;一个类的生命周期分为七个阶段: 加载,连接(验证,准备,解析),初始化,使用,卸载;类的生命周期结束类结束生命周期的几种情况:... 查看详情

loadrunner接口脚本编写过程中遇到的问题及分享

 工作中需要接口测试,报文编辑器一条条手工发费时费力,因此考虑利用web_submit_data函数POST方法进行报文编辑。在报文编辑中主要遇到了三个问题,其中一个问题耗时两天查到问题所在,在这里与大家一块分享。 问题1... 查看详情

个人遇到的几种date类型处理方式

一、如何用JSTL标签对jsp页面中的Date类型进行格式化1、引入标签<%@taglibprefix="fmt"uri="http://java.sun.com/jsp/jstl/fmt"%> 2、使用标签 <fmt:formatDatevalue="${uc.created}"pattern="yyyy-MM-dd HH:mm:ss"/>& 查看详情

常见的几种异常类型exception

常见异常类型:Java中的异常分为两大类:     1.CheckedException(非RuntimeException)  2.UncheckedException(RuntimeException) 算数异常类:ArithmeticExecption 空指针异常类型:NullPointerException 类型强制转换类型:Cl 查看详情

嵌入式中arm的几种工作模式以及异常模式的优先级

一、Arm工作模式:Arm微处理器支持7种工作模式,分别为:1. 用户模式(Usr)           用于正常执行程序2. 快速中断模式(FIQ)   用于高速数据传输3. 外部中断... 查看详情

常见的几种异常类型-熟记

今天把几个常见的异常总结一下,希望自己能熟记,别忘记!!! 1.NullPointerException:空指针异常。菜鸟编程经验发现这个异常是经常会发生的,属于运行时异常。举例:publicstaticvoidmain(String[]args)Stringstr=null;//此处报空指针异... 查看详情

.net中常用的几种解析json方法

...怎么回事?序列化:将数据结构或对象转换成二进制串的过程反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程  查看详情

java编程中常见的异常有哪几种

相信作为程序员的我们在对程序进行编译过程中经常会遇到错误,或者在运行过程中出现错误,在这里主要跟大家谈谈经常遇到的一些异常与错误,以及解决办法。 异常是指程序在编译或运行过程出现的错误。在java.lang包中... 查看详情