TCPdump抓包及分析方法1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1关键字
Tcpdump,丢包,抓包
2Tcpdump抓包的作用
Tcpdump是linux系统自带的抓包工具,功能:
>抓进出Linux服务器的IP包
>抓下的IP包,可由WireShark等工具,解码为UDP和RTP包。
>抓下的IP包,可由WireShark等工具分析丢包情况
3Tcpdump常用方法
Tcpdump是linux系统自带的抓包工具,需要root权限才能运行。
//抓网卡eth2上所有进出的数据包,如果没有数据包,则通常会抓到广播包
数会保留所有TS数据包,故重要。
3.4指定入向端口
设入向端口为11866,转换为十六进制,即是0x2e5a,所以:
其中,ether[36]和ether[37]为接收端口的16进制表示。
3.5指定出向端口
其中, Ether[34]和ether[35]为发送端口的16进制表示。
3.6长时间抓包
在抓包命令后加“-C 100”,它会满100M后写到下一个新的文件。
直到磁盘满。
3.7后台执行
在抓包命令最后面再加一个&,这样可以后台一直抓。
这样的话,登录窗口可以关掉。
你想停止抓包,则得用PS把进程杀死。
4抓包分析快进快退
4.1找关键帧
RTP包是否为关键帧的标识保存在RTP扩展位中。
WireShark查看RTP包是否为关键帧。
00或者10:普通帧
20或者30: 关键帧首包
40或者50: 关键帧中间包
80或者90: 关键帧尾包
注:以上判断之所以有“或者”,是因为关键帧位只占了3比特。
4.2判断时戳
如果抓包为32倍速,要判断时戳是否正常,则可以用抓包里的:
(最大时戳-最小时戳)/90000/倍速=倍速播放时常
例如:
(709506270-490114260)/90000/32=76.17(秒)
然后可以查看每二列的Time是否约等于76秒。
如果是,则是正常的。
5抓包分析是否丢包
注意,不同版本的WireShark操作有所区别,下文中所用版本为1.3.0
5.1主要步骤
>确定端口号并转换为16进制。
>确定抓包的网口
>抓包并保存结果到文件
>解码:用WireShark打开结果文件并解码为IP,然后再解码为RTP
>用WireShark查看是否丢包
5.2详细步骤
5.2.1确定端口号并转换为16进制
例如入向端口为11866,转换为十六进制,即是0x2e5a
5.2.2确定抓包的网口
MSTU收发直播码流是通过网口eth2或者eth3.
不指定保存结果的文件,直接在屏幕上看输出,这种方法可确定是哪个网口收码流
其中:
-i eth2指定抓哪个网口
ether[KK]是指IP数据包的第KK个字节。
ether[12]=0xff and ether[13]=0x09表示只抓来自MDU的数据包。
Ether[34]和ether[35]为发送端口的16进制表示。
Ether[36]和ether[37]为接收端口的16进制表示。
-s表示抓下完整的RTP包,这样可以分析TS流.
mstu2eth2_2e5a_head.cap为保存抓包结果的文件,会生成在当前目录下。
5.2.4解码
用WireShark打开结果文件并解码为IP,然后再解码为RTP。
方法如下:
随意右键一个数据包:
5.2.5查看丢包率
用WireShark查看是否丢包
注意,如果丢包率显示为负数,需要在下一节(4.2.6)来分析是否丢包。
5.2.6分析丢包
如果丢包率为非0,则要看是丢了哪些数据包:
上图中,”Next non-OK”会跳到下次丢包的序号。
关于负值的丢包率:
如下图所所。
这通常是tcpdump抓包工具因误抓重复序号包造成的丢包假像。
此时,要把Lost RTP packets和Sequence errors相加,如果为非0值,则是真丢包,否则不是丢包。
如上图中,-85+85=0,则表示实际上没有丢包。
事实上,可以通过如下方法确认是否是重复序号包造成的统计失误:
6附录
6.1抓包指定域
#tcpdump -i eth3 ether[34]=0x3e and ether[35]=0x3e and ether[60]=0x80 00或者10:普通帧
20或者30: 关键帧首包
40或者50: 关键帧中间包
80或者90: 关键帧尾包
#tcpdump -i eth3 ether[36]=0x3e and ether[37]=0x38 and ether[42]=0x47 0x47 UDP
0x80 标准RTP
0x90 扩展RTP。