欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WireShark过滤tcpdump RTP数据流

程序员文章站 2022-07-14 18:41:37
...

在调试Miracast的过程中,WFD会话建立后,AV流开始从source传递到sink端,继而调用解码器进行解码等后续操作。在UI不可见的情况下可以通过tcpdump抓到达端口的数据包,对其使用wireshark进行过滤后使用VLC进行播放,就可以直观的观测数据传递情况。


0.准备

安装包分析软件wireshark和软解码播放器vlc及其查看音视频格式的mediainfo工具

sudo apt-get install vlc
sudo apt install wireshark
sudo apt-get install mediainfo

1.抓取tcpdump数据包

在Sink端抓取tcpdump数据包

adb shell tcpdump -i any -s 0 -w /data/tcpdump.pcap   
//any表示抓取wlan0、p2p0、eth0等全部接口的数据包
//data/tcpdump.pcap表示保存在data下的tcpdump.pcap
adb pull /data/tcpdump.pcap ./

2.wireshark包分析

  1. 用wireshark打开tcpdump.pcap

WireShark过滤tcpdump RTP数据流

  1. 在Filter过滤关键字“rtp”并回车确认过滤

WireShark过滤tcpdump RTP数据流

  1. 选择Telephony->RTP->Stream Analysis
    WireShark过滤tcpdump RTP数据流
  2. 选择下方Save payload…
    WireShark过滤tcpdump RTP数据流
  3. 重命名为xxx.mp4并保存
    WireShark过滤tcpdump RTP数据流

3.VLC播放

使用VLC播放器解码播放上面的xxx.mp4,既可以直观查看到Source端发送过来的投屏数据,确认WFD建立成功。

4.查看格式

使用ubuntu的工具mediainfo可以查看一些音视频的信息

>mediainfo 1.mp4