上周六写了《 在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)》,收到一封邮件,说我文中的图示画错了。         确实,关于CUBIC,我只说了缠绕,关于BBR我只说了顺延,并没有说具体如何,甚至我没有提一嘴关于重传的细节,更
1 起因 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况。这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了。在排查问题的过程中使用到了tcpdump和Wireshark进行抓分析。感觉这两个工具搭配起来干活,非常完美。所有的网络传输在这两个工具搭配下,都无处遁形。 为了更好、更顺手地能够用好这两个工具,特整理
TODO: 此篇比较杂乱, 待整理 !!!术语解释解决网络问题的思路流控理论网络性能问题拥塞重传RTO: 的 Retransmission Timeout 被触发 -> 进入超时重传阶段超时重传快速重传选择重传: SACk延迟确认: Delayed ACK来自: <<一篇关于Vmware的文章>> , <<来点有深度的>>含义: 当需要发送
的概念和造成的原因,顾名思义,在通信中是指通信数据丢失。数据在通信网络上是以数据为单位传输的,每个数据中有表示数据信息和提供数据路由的帧。所以无论网络情况多好,数据之间都是有空隙的,因为物理线路故障、设备故障、病毒攻击、路由信息错误等原因,总会有一定的损失。碰到这种情况,网络会自动的让通信的两端根据协议来补。如果线路情况好,速度快,的损失会非常小,补的工作也相对较易完成,
转载 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线路捕
 关于TCP三次握手和四次挥手大家都在《计算机网络》课程里学过,还记得当时高超老师耐心地讲解。大学里我遇到的最好的老师大概就是这位了,虽然他只给我讲过《java程序设计》和《计算机网络》,但每次课几乎都动手敲代码或者当场做实验。好了不扯了,下面进入正题。     关于三次握手和四次挥手的理论部分可以在很多资料上找到,我今天动手抓了几个验证书上的理论,毕竟那
       TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况,如果通信中发现缺少数据或者,那么,最大的可能在于程序发送的过程或者接收的过程出现问题。         例如服务端要给客户端发送大量数据,Send频率很高,那么就很有可能在Send环节出现错误(1.程序处理逻辑错误,2.多线程同
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
一.根据定位问题到解决问题的思路:1.确认网络链路问题,ping测和traceroute确认链路是否健康。如果链路有问题,找对应网络管理员排查网络。2.确认系统问题,通过wireshark或者tcpdump在应用系统两端抓,定位问题所在,排查是发送或者接受系统网卡、性能问题3.从tcp应用本身排查,通过在程序上添加调试代码,核查是否应用逻辑处理问题二.考虑TCP协议为什么会,在什么样的情况下
Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr[1] 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。看重吞吐量的场景一般是所谓的长肥管道(Long Fat Networks, LFN, rfc7323[2]). 比如下载大文件。吞吐量没有达到网络的上限,主要可能受 3 个方面的影响:发
在网络性能问题排查思路那一节里,我提到了查看系统网络瓶颈的方法以及排查问题的手段。 但就此分析网络问题还不够精细,有时网络资源并没有达到瓶颈,或者并没有包产生,但是网络传输速率就是很慢,或者有包产生,但无法知道的详细过程,无法知道整个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捕获到的数据存储到专门的数据库中是
今天使用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协议:数据量很大,防止它,正确重传。(如果数据量很大,那么
流媒体播放中,常常需要借助wireshark从TCP层面对交互过程进行分析,本文记录一些常见的TCP异常报文及其分析。乱序与1、[TCP Previous segment not captured] [TCP Previous segment not captured]报文指的是在TCP发送端传输过程中,该Seq前的报文缺失了。一般在网络拥塞的情况下,造成TCP报文乱序、时,会出现该标志。
YY的音频数据传输是P2P协议,音频的编码为AAC,下面抓去的音频编码的信息和频谱信息。音频编码为AAC,采样为44K,码率24kb/s。音频编码在24kb/s码率能达到15K的音质。值得大家学习啊。 1.准备工具procexp.exe      分析YY的进程信息Procmon.exe     
转载 2024-05-19 20:24:26
459阅读
  • 1
  • 2
  • 3
  • 4
  • 5