工作中经常需要统计服务器上的rtp包接收、发送性能。不想自己再做一套统计软件,打算用现有的wireshark来做分析统计。
先把rtp头存成pcap格式文件,pcap文件格式及怎样存储可以参照这篇文章http://blog.csdn.net/force_eagle/article/details/6681802
然后在wireshark中打开pcap文件,但是问题来了,在wireshark中默认只支持完整的ip报文。这样需要在每个rtp包前加上ip头,可是ip头的大小比rtp头都还要大,这样做会浪费很多存储空间。
还有没有更好的办法让wireshark只解析rtp数据呢,通过阅读wireshark源码,终于找到一种办法。原来wireshark支持自定义报文格式,先在软件界面的edit->preference->protocols选中DLT_USER,然后点击右侧界面edit按钮。在弹出框中点击new,如下界面
在payload protocol中填入rtp,其他为空即可。
注意最开始的DLT=147,这个对应pcap文件头中的linktype,需要把pcap文件头的linktype置为147.
设置完后,再打开pcap文件,即可以看到如下界面
可以看到每个rtp包的sequence,时间戳等。也可以很方便的做各种统计分析了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-10 14:43:52