上周六写了《
在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)》,收到一封邮件,说我文中的图示画错了。
确实,关于CUBIC,我只说了缠绕,关于BBR我只说了顺延,并没有说具体如何,甚至我没有提一嘴关于重传的细节,更
转载
2024-03-18 06:42:46
237阅读
1 起因 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况。这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了。在排查问题的过程中使用到了tcpdump和Wireshark进行抓包分析。感觉这两个工具搭配起来干活,非常完美。所有的网络传输在这两个工具搭配下,都无处遁形。 为了更好、更顺手地能够用好这两个工具,特整理
TODO: 此篇比较杂乱, 待整理 !!!术语解释解决网络问题的思路流控理论网络性能问题拥塞重传RTO: 丢包的 Retransmission Timeout 被触发 -> 进入超时重传阶段超时重传快速重传选择重传: SACk延迟确认: Delayed ACK来自: <<一篇关于Vmware的文章>> , <<来点有深度的>>含义: 当需要发送
转载
2024-03-21 22:52:00
56阅读
丢包的概念和造成丢包的原因丢包,顾名思义,在通信中是指通信数据包丢失。数据在通信网络上是以数据包为单位传输的,每个数据包中有表示数据信息和提供数据路由的帧。所以无论网络情况多好,数据包之间都是有空隙的,因为物理线路故障、设备故障、病毒攻击、路由信息错误等原因,总会有一定的损失。碰到这种情况,网络会自动的让通信的两端根据协议来补包。如果线路情况好,速度快,包的损失会非常小,补包的工作也相对较易完成,
转载
2024-07-11 21:52:02
153阅读
第二次握手:服务端返回一个ACK(对客户端连接请求的应答)+SYN(表示服务端发起连接请求),并且包含服务端的一个初始序列号seq=0,同时返回一个确认号ack=1第三次握手:客户端给服务端返回一个ACK(对服务端连接请求的应答),并更新自己的序列号seq=1,返回一个确认号ack=1Wireshark分析握手过程这是我发起连接请求后抓到的数据包第一次握手:可以看到,客户端发起一个SYN请求,初始
0x00 前言 Wireshark(前称Ethereal)中文版是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。本文着重分析追踪文件分享,以此来确认线路延时、客户端延迟、服务器延迟等常见问题。0x01 基本原理1 wireshark线路捕
转载
2024-04-14 13:03:24
197阅读
关于TCP三次握手和四次挥手大家都在《计算机网络》课程里学过,还记得当时高超老师耐心地讲解。大学里我遇到的最好的老师大概就是这位了,虽然他只给我讲过《java程序设计》和《计算机网络》,但每次课几乎都动手敲代码或者当场做实验。好了不扯了,下面进入正题。 关于三次握手和四次挥手的理论部分可以在很多资料上找到,我今天动手抓了几个包验证书上的理论,毕竟那
转载
2024-03-22 09:41:26
213阅读
TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况,如果通信中发现缺少数据或者丢包,那么,最大的可能在于程序发送的过程或者接收的过程出现问题。 例如服务端要给客户端发送大量数据,Send频率很高,那么就很有可能在Send环节出现错误(1.程序处理逻辑错误,2.多线程同
转载
2024-04-21 17:19:08
539阅读
1. 案例学习观察到TCP超时的重传间隔时间太长,可调整; 观察到网络频繁拥塞的拥塞点在32KB以上,限制拥塞端口在32KB,避免拥塞。2. NFS协议分析与抓包RFC 1813. 运行挂载命令(mount)时抓包, mount 1.1.1.1 :/code /tmp/code 在wireshark里用“portmap||mount||nfs” 进行过滤。客户端: 我想连接你的NFS进程,该用哪个
转载
2024-08-13 13:45:08
54阅读
客户端:172.16.16.128 服务器:74.125.95.104一、线路原因通过上图可以看到在第一个数据包和第二个数据包之间,第四个和第五个数据包之间出现了较大的时间差。可以判断是线路问题(由服务器和客户端之间的设备导致的) 原因: 1.当服务器收到一个SYN数据包时,由于不涉及传输层以上的处理,发送一个一个响应只需要一小的处理量,即使服务器正在承受着非常大的流量负载,也会迅速的响应一个[S
转载
2024-05-01 19:56:58
110阅读
一.根据定位问题到解决问题的思路:1.确认网络链路问题,ping测和traceroute确认链路是否健康。如果链路有问题,找对应网络管理员排查网络。2.确认系统问题,通过wireshark或者tcpdump在应用系统两端抓包,定位问题所在,排查是发送或者接受系统网卡、性能问题3.从tcp应用本身排查,通过在程序上添加调试代码,核查是否应用逻辑处理问题二.考虑TCP协议为什么会丢包,在什么样的情况下
转载
2024-03-22 16:46:47
527阅读
Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr[1] 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。看重吞吐量的场景一般是所谓的长肥管道(Long Fat Networks, LFN, rfc7323[2]). 比如下载大文件。吞吐量没有达到网络的上限,主要可能受 3 个方面的影响:发
转载
2024-03-20 08:16:22
935阅读
在网络性能问题排查思路那一节里,我提到了查看系统网络瓶颈的方法以及排查丢包问题的手段。 但就此分析网络问题还不够精细,有时网络资源并没有达到瓶颈,或者并没有丢包产生,但是网络传输速率就是很慢,或者有丢包产生,但无法知道丢包的详细过程,无法知道整个tcp传输过程的具体情况。如何更加精细的查看网络包传输过程,答案就是抓包。这一节我将用上传文件的抓包文件举例,用wireshark来分析tcp的传输过程以
转载
2024-03-28 10:43:08
193阅读
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷)本文为追加文章,后期慢慢追加,作者不是很懂wireshark抓包工具主要参考一下大佬文章: wireshark抓包新手使用教程 网络抓包工具 wireshark 入门教程 Wireshark抓包工具使用教程 官方手册(详细,不建议新手看)https://www.wireshark.org/docs/wsug_html_c
说起来有一些惭愧,研究wireshark有一段时间了,但是对源代码的分析却至今没有什么进展。。。最初想要研究wireshark是因为我的开题是基于wireshark来做的。现在有很多抓包工具,wireshark的优势在于完全开源,分析功能强大,但其缺点也很明显,即捕获的数据包存储过于分散,大数据背景下,不能有效的对海量的数据包进行存储分析,因此将wireshark捕获到的数据存储到专门的数据库中是
转载
2024-03-26 10:08:26
130阅读
今天使用wireshark来分析一下tcp的一些原理。首先我们建立一个tcp服务器。const net = require('net');
net.createServer().listen(11111);再建立一个tcp客户端。const net = require('net');
net.connect({port: 11111, host: '192.168.8.226'})我们逐个情况分析
转载
2024-07-03 06:01:06
722阅读
1. TCP DUP ACK TCP dup ack XXX#X原因分析: 就是重复应答#前的表示报文到哪个序号丢失,#后面的是表示第几次丢失.当乱序或者丢包发生时,接收方会收到一些Seq号比期望值大的包。它每收到一个这种包就会Ack一次期望的Seq值,以此方式来提醒发送方,于是就产生了一些重复的Ack。Wireshark会在这种重复的Ack上标记[TCP Dup ACK] .2. TCP Fas
转载
2024-02-21 11:45:25
359阅读
一、TCP协议和UDP协议的区别TCP协议和UDP协议的区别1.TCP是面向连接的,所以有TCP三次握手和四次挥手的过程。UDP是无连接的协议,因为没建立任何的连接,所以没有握手和挥手的过程。2.TCP有可靠的连接机制,所以TCP是一个可靠协议。UDP没有连接和确认机制,所以UDP协议会丢包,会出错,所以它是一个不可靠的协议。3.TCP协议:数据量很大,防止它丢包,正确重传。(如果数据量很大,那么
转载
2024-02-22 22:53:18
177阅读
流媒体播放中,常常需要借助wireshark从TCP层面对交互过程进行分析,本文记录一些常见的TCP异常报文及其分析。乱序与丢包1、[TCP Previous segment not captured] [TCP Previous segment not captured]报文指的是在TCP发送端传输过程中,该Seq前的报文缺失了。一般在网络拥塞的情况下,造成TCP报文乱序、丢包时,会出现该标志。
转载
2024-05-07 11:48:51
491阅读
YY的音频数据传输是P2P协议,音频的编码为AAC,下面抓去的音频编码的信息和频谱信息。音频编码为AAC,采样为44K,码率24kb/s。音频编码在24kb/s码率能达到15K的音质。值得大家学习啊。 1.准备工具procexp.exe 分析YY的进程信息Procmon.exe
转载
2024-05-19 20:24:26
459阅读