上周六写了《
在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)》,收到一封邮件,说我文中的图示画错了。
确实,关于CUBIC,我只说了缠绕,关于BBR我只说了顺延,并没有说具体如何,甚至我没有提一嘴关于重传的细节,更
转载
2024-03-18 06:42:46
237阅读
1 起因 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况。这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了。在排查问题的过程中使用到了tcpdump和Wireshark进行抓包分析。感觉这两个工具搭配起来干活,非常完美。所有的网络传输在这两个工具搭配下,都无处遁形。 为了更好、更顺手地能够用好这两个工具,特整理
[linux] tc netem 模拟网络丢包linux下的tc可以操纵网络,比如分配带宽给不同的应用、模拟网络时延、模拟糟糕网络环境下的丢包等。但在实际使用模拟丢包时,我们 发现了问题:两台服务器,一台跑tcp的server,一台跑tcp的client,client只send,server只recv(并打印出来),在 网络环境正常时,发送100万条消息只要40秒,但如果我们在两台服务器的任一台设
转载
2024-08-05 10:30:34
163阅读
TODO: 此篇比较杂乱, 待整理 !!!术语解释解决网络问题的思路流控理论网络性能问题拥塞重传RTO: 丢包的 Retransmission Timeout 被触发 -> 进入超时重传阶段超时重传快速重传选择重传: SACk延迟确认: Delayed ACK来自: <<一篇关于Vmware的文章>> , <<来点有深度的>>含义: 当需要发送
转载
2024-03-21 22:52:00
56阅读
丢包的概念和造成丢包的原因丢包,顾名思义,在通信中是指通信数据包丢失。数据在通信网络上是以数据包为单位传输的,每个数据包中有表示数据信息和提供数据路由的帧。所以无论网络情况多好,数据包之间都是有空隙的,因为物理线路故障、设备故障、病毒攻击、路由信息错误等原因,总会有一定的损失。碰到这种情况,网络会自动的让通信的两端根据协议来补包。如果线路情况好,速度快,包的损失会非常小,补包的工作也相对较易完成,
转载
2024-07-11 21:52:02
153阅读
ip命令:linux的ip命令和ifconfig类似,ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。linux系统提供的iproute2工具用于替代一些常用的net-tools命令。 用来显示或操纵linux主主机的路由、网络设备、策略路由和隧道ip linkip -s addr show eth1: ifconfig: 参数说明:mt
“ 主要讲解抓包步骤和网络故障分析方法 ” 使用步骤选择网卡、点击Start出现(2)图所示主界面(1)点击Expression(2)选择HTTP协议,当然也可以选择其他的协议进行过滤。过滤条件,显示过滤器用于查找捕捉记录中的内容,只要有的协议都是可以通过表达式的方式进行过滤,请参考Wireshark过滤器中的
转载
2024-04-25 20:10:20
235阅读
前言 贴一张wireshark抓包的总图,便于理解分析网络分层为了让大家更容易「看得见」 TCP,我搭建不少测试环境,并且数据包抓很多次,花费了不少时间,才抓到比较容易分析的数据包。接下来丢包、乱序、超时重传、快速重传、选择性确认、流量控制等等 TCP 的特性,都能「一览无云」。没错,我把 TCP 的"衣服扒光"了,就为了给大家看的清楚,嘻嘻。提纲正文显形“不可见”的网络包网络世界中的数
转载
2024-05-26 20:31:06
2084阅读
物理层,数据链路层 首先来说一种情况,就是不同网段主机进行第一次通信时,第一个包会丢失,ping出25%的丢包率,原因就在于第一次通信时Router接收到ICMP的包后,找不到目的MAC,所以会丢包转而是发ARP去找MAC地址,所以此包会丢。接下来说说物理层,物理层没啥别的,就是定义了接口和线缆标准,需要提一嘴的是局域网和广域网的通信模型的不同,后者因为距离长,会涉及到不同的传输介质,从而信号可能
分析问题的前期准备步骤:1. 准备一台笔记本电脑,并且安装360免费wifi。2. 两部移动终端连接上360共享的wifi3. 在笔记本电脑上开启wireshark抓包,并且在linux服务
转载
2024-09-11 09:50:56
433阅读
第二次握手:服务端返回一个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
207阅读
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阅读
TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况,如果通信中发现缺少数据或者丢包,那么,最大的可能在于程序发送的过程或者接收的过程出现问题。 例如服务端要给客户端发送大量数据,Send频率很高,那么就很有可能在Send环节出现错误(1.程序处理逻辑错误,2.多线程同
转载
2024-04-21 17:19:08
539阅读
客户端:172.16.16.128 服务器:74.125.95.104一、线路原因通过上图可以看到在第一个数据包和第二个数据包之间,第四个和第五个数据包之间出现了较大的时间差。可以判断是线路问题(由服务器和客户端之间的设备导致的) 原因: 1.当服务器收到一个SYN数据包时,由于不涉及传输层以上的处理,发送一个一个响应只需要一小的处理量,即使服务器正在承受着非常大的流量负载,也会迅速的响应一个[S
转载
2024-05-01 19:56:58
110阅读
关于TCP三次握手和四次挥手大家都在《计算机网络》课程里学过,还记得当时高超老师耐心地讲解。大学里我遇到的最好的老师大概就是这位了,虽然他只给我讲过《java程序设计》和《计算机网络》,但每次课几乎都动手敲代码或者当场做实验。好了不扯了,下面进入正题。 关于三次握手和四次挥手的理论部分可以在很多资料上找到,我今天动手抓了几个包验证书上的理论,毕竟那
转载
2024-03-22 09:41:26
220阅读
一.根据定位问题到解决问题的思路:1.确认网络链路问题,ping测和traceroute确认链路是否健康。如果链路有问题,找对应网络管理员排查网络。2.确认系统问题,通过wireshark或者tcpdump在应用系统两端抓包,定位问题所在,排查是发送或者接受系统网卡、性能问题3.从tcp应用本身排查,通过在程序上添加调试代码,核查是否应用逻辑处理问题二.考虑TCP协议为什么会丢包,在什么样的情况下
转载
2024-03-22 16:46:47
530阅读
Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr[1] 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。看重吞吐量的场景一般是所谓的长肥管道(Long Fat Networks, LFN, rfc7323[2]). 比如下载大文件。吞吐量没有达到网络的上限,主要可能受 3 个方面的影响:发
转载
2024-03-20 08:16:22
961阅读
在网络性能问题排查思路那一节里,我提到了查看系统网络瓶颈的方法以及排查丢包问题的手段。 但就此分析网络问题还不够精细,有时网络资源并没有达到瓶颈,或者并没有丢包产生,但是网络传输速率就是很慢,或者有丢包产生,但无法知道丢包的详细过程,无法知道整个tcp传输过程的具体情况。如何更加精细的查看网络包传输过程,答案就是抓包。这一节我将用上传文件的抓包文件举例,用wireshark来分析tcp的传输过程以
转载
2024-03-28 10:43:08
208阅读
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷)本文为追加文章,后期慢慢追加,作者不是很懂wireshark抓包工具主要参考一下大佬文章: wireshark抓包新手使用教程 网络抓包工具 wireshark 入门教程 Wireshark抓包工具使用教程 官方手册(详细,不建议新手看)https://www.wireshark.org/docs/wsug_html_c