- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用WireShark工具定位视频质量问题的方法
利用WireShark工具定位视频质量
问题的方法
杭州华三通信技术有限公司
侵权必究
All rights reserved
修订记录 Revision Record
日期
Date 修订版本
Revision Version 修改章节
Sec No. 修改描述
Change Description 作者
Author 2010-11-18 1.00 初稿整理完成 罗翔
目 录
1 面临的问题 4
2 解决方案 4
2.1 原始抓包文件中过滤出TS视频流 4
2.1.1 抓包文件中过滤出TS流 5
2.1.2 TS流中过滤出TS视频流 7
2.2 将视频流报文转换为视频文件 8
面临的问题
在IP监控的实际应用中,IP监控的视频报文常常运行在无保障的IP网络中。一旦出现视频质量问题,定位问题的第一步,就是要确认该问题是否与网络相关。
如何确认呢?在MPPV1中,我们可以通过在编码侧和解码侧两端进行抓包,然后利用ethereal的rtp stream analysis功能快速统计出丢包率的方式来确认。但是对于MPPV3,由于改用TS协议进行打包,而ethereal又不提供TS流的分析功能,导致我们很难判断TS流是否在网络中被正常发送和接收。
解决方案
WireShark帮助我们解决了这个难题。WireShark可以正常的解析TS流报文,虽然
它不提供“ts stream analysis”,但是通过WireShark,我们可以将捕获的报文转换为视频文件。
有了这个功能,在定位问题时,我们只需要将编码、解码两端的抓包还原视频文件,然后使用VLC或者是迅雷看看等工具进行播放对比,同样可以判断问题是出现在网络侧还是出现在监控侧,提高我们定位问题的效率。下面就为大家介绍具体的使用方法。
原始抓包文件中过滤出TS视频流
要实现将抓包转换为TS视频文件,我们必须在原始抓包文件中将TS视频流报文过滤出来。参考图1,我们可以看到在原始的抓包文件中包含sip、ssh、pppoe、arp、ts音频流、ts视频流等多种协议报文。要达成我们过滤TS视频流报文的目的,需要分两步进行:
在抓包文件中,首先将TS流过滤出来
在TS流中,将TS视频流过滤出来
图1-原始抓包文件
抓包文件中过滤出TS流
通过对TS流音频、TS流视频的报文分析,我们可以发现TS流的UDP目的端口号是固定的,即udp 53340端口。
图2-TS音频流UDP目的端口
图3-TS视频流UDP目的端口
通过以udp目的端口53340为过滤条件,我们可以在抓包文件中将TS流过滤出来。这里教大家一个过滤报文的小窍门:以往我们在过滤报文时,往往苦恼无法记住WireShark或者是ethereal等抓包工具过滤报文的语法,但实际上,聪明的开发者早就体会到了我等菜鸟的苦衷,我们只需在报文中选中需要过滤的字段,点击右键,选择“apply as filter”,WireShark就可以自动的生成过滤条件,将所需的报文过滤出来!
图4-在报文中选择要过滤的字段
图5-filter工具栏自动生成过滤条件
参考图4,之前提到需要以udp目的端口53340为过滤条件,那么只需要在报文中选中“Destination port:53340(53340)”这个字段,点击右键,在右键菜单中选中“Apply as Filter”,此时Wireshark就会自动在Filter工具栏中生成“udp.dstport == 53340”的过滤条件(参考图5),就可以自动将所有的TS流报文过滤出来啦!
细心的读者可能还会注意到图4右键菜单中另一个选项,即“Prepare as Filter”,那么它和“Apply as Filter”有什么区别呢?在本例中,如果选择“Apply as Filter”,WireShark会立即执行“udp.dstport == 53340”这个过滤条件;如果选择“Prepare as Filter”,WireShark则是将“udp.dstport == 53340”这个过滤条件在Fitler栏中显示出来,而不会立即执行过滤。
当完成过滤后,需要将过滤出来的报文另存为一个新的文件ts.cap。注意,在选择SAVE AS后,一定要选择“Displayed”(参考图6),才能将所需的TS流报文另存为ts.cap。
图6-将TS流报文另存为ts.cap
TS流中
文档评论(0)