用wireshark解析应用层存储包
2015-07-04 11:42
225 查看
工作中经常需要统计服务器上的rtp包接收、发送性能。不想自己再做一套统计软件,打算用现有的wireshark来做分析统计。
先把rtp头存成pcap格式文件,pcap文件格式及怎样存储可以参照这篇文章/article/1667372.html
然后在wireshark中打开pcap文件,但是问题来了,在wireshark中默认只支持完整的ip报文。这样需要在每个rtp包前加上ip头,可是ip头的大小比rtp头都还要大,这样做会浪费很多存储空间。
还有没有更好的办法让wireshark只解析rtp数据呢,通过阅读wireshark源码,终于找到一种办法。原来wireshark支持自定义报文格式,先在软件界面的edit->preference->protocols选中DLT_USER,然后点击右侧界面edit按钮。在弹出框中点击new,如下界面
![](http://img.blog.csdn.net/20150704114320190?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在payload protocol中填入rtp,其他为空即可。
注意最开始的DLT=147,这个对应pcap文件头中的linktype,需要把pcap文件头的linktype置为147.
设置完后,再打开pcap文件,即可以看到如下界面
![](http://img.blog.csdn.net/20150704114406902?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
可以看到每个rtp包的sequence,时间戳等。也可以很方便的做各种统计分析了。
先把rtp头存成pcap格式文件,pcap文件格式及怎样存储可以参照这篇文章/article/1667372.html
然后在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,时间戳等。也可以很方便的做各种统计分析了。
相关文章推荐
- JS 之表单特殊控制
- 暑假计划
- CFStringTransform的使用 :汉字转拼音、全角转半角等
- leetcode 226 :Invert Binary Tree
- subversion和客户端的应用
- BZOJ2565 最长双回文串
- Git教程学习(四)
- 用URL浏览图片
- 解决angular 与django的冲突
- java基础之java的基本了解
- Android中数据库的创建和使用
- UVA - 1347 Tour
- 能量英语(四) 之 “信念”
- C#基础之类的出现
- Win10 Build 10164泄露 已开始始接受第一阶段测试
- java动态代理详解,并用动态代理和注解实现日志记录功能
- 监听listview中item有控件点击事件的变化,更新listview
- Roman to Integer
- 关于java初始化的问题
- php面向对象编程--接口