1 关键字 Tcpdu mp, 丢包, 抓包 2 Tcpdump抓包的作用 Tcpdu mp 是linu x 系统自带的抓包工具,功能: >抓进出Linu x 服务器的IP 包 >抓下的IP 包,可由WireShark 等工具,解码为UDP 和RTP 包。 >抓下的IP 包,可由WireShark 等工具分析丢包情况 3 Tcpdump常用方法 Tcpdu mp 是linu x 系统自带的抓包工具, 需要 root 权限才能运行。 3.1 指定网卡 tcpdump -i eth2 //抓网卡 eth2 上所有进出的数据包,如果没有数据包,则通常会抓到广播包 3.2 指定保存抓包结果的文件 tcpdump -i eth2 –w mstu2ether2.cap 3.3 抓完整的RTP 包 tcpdump -i eth2 –w mstu2ether2.cap –s 0 “-s 0”指定抓的是完整的数据包,否则以 64 字节截断。对于 MSTU 上的RTP 抓包,这个参数会保留所有 TS 数据包,故重要。 3.4 指定入向端口 设入向端口为11866,转换为十六进制,即是0x 2e5a,所以: tcpdump -i eth2 ether[36]=0x2e and ether[37]=0x5a -w mstu2eth2_2e5a_head.cap 其中, ether[36]和ether[37]为接收端口的16 进制表示。 3.5 指定出向端口 设出向端口为11866,转换为十六进制,即是0x 2e5a,所以: tcpdump -i eth2 ether[34]=0x2e and ether[35]=0x5a -w mstu2eth2_2e5a_head.cap 其中, 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 主要步骤 >确定...