【音视频第20天】wireshark+tcpdump

news/2024/12/1 7:03:12/

tcpdump抓 wireshark分析

目录

    • tcpdump
    • wireshark

tcpdump

  1. tcpdump参数详解
    网上一搜一大堆。最全的不是用tcpdump -h而是man tcpdump来查询手册。
    tcpdump -i eth0 -p udp -xx -Xs 0 -w /root/test2.cap
    -i 针对eth0网卡的,ifconfig是查看有几个网卡
    -i eth0 表示使用网络接口 eth0。
    -p udp 表示只捕获 UDP 协议的数据包。
    -xx 表示使用最高位数为 256,用于设置 tcpdump 的选项。
    -Xs 0 表示将前 16 个字节的数据作为 UDP 头部,这有助于快速定位 UDP 数据包。
    -w /root/test2.cap 表示将捕获的数据包保存到 /root/test2.cap 文件中。
    这个命令将捕获从网络接口 eth0 中传输的 UDP 数据包,并将它们保存到 /root/test2.cap 文件中。在保存数据包之前,tcpdump 使用 -Xs 0 选项将前 16 个字节的数据作为 UDP 头部,这有助于快速定位 UDP 数据包。同时,tcpdump 使用 -p udp 选项只捕获 UDP 协议的数据包,这有助于减少捕获的数据包数量。

下面的随便看看吧,用得着再说

tcpdump详细参数
-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络界面> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。

wireshark

1.下载安装wireshark
下载安装教程
1.5 注意要用管理员方式运行
2.从wireshark中导入上面存的test2.cap
在这里插入图片描述
序号,时间戳,源地址,目的地址,协议,包长度
3.右键descode as,存成一个RTP
在这里插入图片描述
4.在这里插入图片描述
怎么分析?
PT=DynamicRTP-Type-96:属于编码方式
SSRC=xxxx,属于不同的流
Seq = xxx,属于不同的包的需要
看一看seq的数量是不是缺少了一个,缺少了有没有接着给下面的人发送一个含有NACK的RTCP,发了之后有没有接着
分析的目的?
主要看你的程序代码和你抓到的包显现出来是不是一样的
如果有一个RTP包丢失了,服务端会给客户端发一个RTCP,会有很多种情况出现。
在这里插入图片描述
举个栗子吧!

丢了一个包

RTCP
在这里插入图片描述
在这里插入图片描述
我们可以分析如下:

帧号 481:该帧在 Wireshark 中捕获到的帧号为 481。
网络层协议:该帧为 Ethernet II 格式,表明该帧为 IPv4 协议的网络层帧。
源 IP 地址:该帧的源 IP 地址为 172.21.145.154。
目标 IP 地址:该帧的目标 IP 地址为 112.17.79.157。
IP 协议版本:该帧为 IPv4 协议版本 4。
源端口号:该帧的源端口号为 20309。
目标端口号:该帧的目标端口号为 59037。
协议类型:该帧为 User Datagram Protocol(UDP) 协议类型。
RTP 控制协议:该帧中包含 Secure Real-time Transport Control Protocol(RTCP) 协议的控制帧。
NACK:该帧的 RTCP 控制帧中包含一个 NACK(Not All Frames Lost) 消息,表示有一帧数据包丢失。

根据以上分析,我们可以得出以下结论:

该帧为 IPv4 协议的网络层帧,源 IP 地址为 172.21.145.154,目标 IP 地址为 112.17.79.157,源端口号为 20309,目标端口号为 59037,协议类型为 UDP。
该帧中包含 RTCP 协议的控制帧,其中包含一个 NACK 消息,表示有一帧数据包丢失。
NACK 消息的目的是要求发送方重新发送丢失的数据包,以提高数据传输的可靠性。


http://www.ppmy.cn/news/52282.html

相关文章

UE5实现建筑剖切效果

文章目录 1.实现目标2.实现过程2.1 材质参数集2.2 材质遮罩函数2.3 更新Box3.参考资料1.实现目标 基于BoxMask材质节点,在UE5中实现建筑物的剖切效果,GIF动图如下: 2.实现过程 实现原理与之前“BoxMask实现建筑生长效果”的原理相同,都是基于BoxMask材质节点实现。 具体实…

第13届蓝桥杯国赛真题剖析-2022年5月29日Scratch编程初中级组

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第127讲。 第13届蓝桥杯Scratch国赛真题&#xff0c;这是2022年5月29日举办的全国总决赛&#xff0c;比赛仍然采取线上…

计算机视觉 | 八斗人工智能 (中)

目录 卷积&滤波1.一个没有任何效果的卷积核2.平均均值滤波3.图像锐化4.soble边缘检测 卷积的三种填充模式1.padding --> same模式 最常用的模式2.full和valid模式三通道卷积 canny边缘检测算法&#xff08;效果最好&#xff09;Sobel算子、Prewitt算子 相机模型畸变矫正…

app拉新充场代理

我认为您可能是想了解APP充值拉新软件的功能吧。通常&#xff0c;APP充值拉新软件会具有以下功能&#xff1a; 充值服务&#xff1a;提供多种支付方式&#xff0c;让用户方便快捷地进行充值操作。 活动推广&#xff1a;通过不同的方式&#xff0c;如折扣、优惠码等&…

使用@Bean注解指定初始化和销毁的方法

bean的生命周期 通常意义上讲的bean的生命周期&#xff0c;指的是bean从创建到初始化&#xff0c;经过一系列的流程&#xff0c;最终销毁的过程。只不过&#xff0c;在Spring中&#xff0c;bean的生命周期是由Spring容器来管理的。在Spring中&#xff0c;我们可以自己来指定be…

【香橙派+DHT11】香橙派(全志H616)+ DHT11温湿度传感器的驱动教程

目录 一、前言产品概述特点数据传送逻辑DHT11通信时序 二、代码GPIO初始化起始信号读取数据整体代码执行结果 一、前言 最近写DHT11的代码到香橙派&#xff08;全志H616&#xff09;上&#xff0c;发现网上案例基本上都是树莓派DHT11的居多&#xff0c;香橙派的少&#xff0c;…

dknit增量编译

原文 knit中的新功能 我一直在写叫Knit的构建工具(我在此写了篇关于它的博客文章). 在Knitv1.1.0中,有个叫"动态省略任务"的新功能,它允许如果试运行任务,确定未改变时,Knit会跳过构建步骤. 这要归功于Knit支持基于哈希,来检测修改文件(如果禁止它,则无法实现). 下…

对话庄表伟老师-文字实录

我内心有一套价值观&#xff0c;有一套世界观&#xff0c;它是一个完整的整体&#xff0c;无论我做任何的事情&#xff0c;工作也好、生活也好、学习也好、去做社区也好、或者是结识朋友也好、去聊天也好&#xff0c;背后的价值观在内心都是一整套的&#xff0c;互相之间是不会…