linux抓包操作,linux/windows常用抓包分析操作

windows:Wireshark抓包,打开wireshark,选择抓包的网卡,输入过滤条件,常用过滤条件:

1、过滤IP: ip.addr == 192.168.21.45

2、过滤端口:tcp.port == 5060 || udp.port == 5060

3、根据消息协议过滤,如:sip,sip.Call-ID == "MTI2Y2YyMD", rtp, rtp.ssrc == 12345, http等

注:! && || 非且或3个符号linux/win通用,不喜欢写 not and or

本机抓包:本机发送到本机的数据包不会经过网卡,无法抓到包,需要设置路由

route add 本机ip mask 255.255.255.255 网关ip

如:route add 92.168.136.200 mask 255.255.255.255 192.168.128.1

使用完毕后用route delete 192.168.136.200 mask 255.255.255.255 192.168.128.1删除,否则所有本机报文都经过网卡出去走一圈回来很耗性能。

linux 抓包:需要安装tcpdump, 可以直接yum或apt-get install tcpdump 安装,不能连网的话下载rpm包安装,需要下载libpcap和tcpdump的rpm包,rpm -Uvh +rpm包安装即可,

libpcap rpm包官方下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=libpcap&submit=Search+...&system=&arch=

tcpdump rpm包官方下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=tcpdump

这两地址就是在http://www.rpmfind.net/上搜一下libpcap和tcpdump就出来了,搬到csdn上赚c币骗小白不厚道。收藏好http://www.rpmfind.net/,好东西。

常用抓包命令:

1、-i 指定网卡如eth0, ip addr 看下,如果安装了k8s虚拟网卡太多,可以 ip addr|grep 192.168 快速找到,可以不指定,设为any 即可。

2、host 指定ip, port 指定端口,可以加tcp或udp限定协议,-vn 打印, -w 输出到文件,再拷贝到win上用wireshark打开。

简单的看下信令,直接打印即可:

tcpdump -i any udp port 5060 -vn (打印5060端口抓到的包)

e6142498cd002e7728524b2d77e3c70e.png

写到文件:

tcpdump -i any udp port 5060 -vn -w sip.pcap

tcpdump -i any host 192.168.12.34 -vn -w sip.pcap 指定ip抓

加了-vn会提示抓到多少个包,ctrl +c 结束后拷贝sip.pcap 用wireshark打开分析。

wireshark分析技巧:

1、分析sip中会话流程(如invite流程)可过滤call-id, 见上面win过滤。

2、分析rtp:如果没有显示数据为rtp包,可选中一个包,右键选择“解码为”(倒数第二个选项),“当前“选择RTP(快速输入RTP会跳转)

c23de2ddbd04dc18a2f9c7901e70d806.png

OK解码成rtp包后,选择 电话-->RTP-->流分析

ab24e8ad5572a8ded7247e6d34fdd083.png

确认后就可分析出流的丢包、乱序等问题

a4e2e192c0b62f9977ae94edc52430a3.png

左边写了,丢包28个占2.25%,乱序1个,将流保存下来,把后缀名强行改为.ps 或.h264/h265,即可播放,h264可以用eseye_u分析,h265的ps流的话只能用ffmpeg播,vlc播不了,若ps 流打包有问题,可以看另一篇“最简单的h264/h265/svac和g711封装成ps流”具体分析,常见的问题是h265打包成了264。

f99903ee2f659fe21c15389a3ae0b7a7.png

保存时一定要选择为raw原始数据,保存后再改后缀。

附:国标接入或级联某些小厂家时可能会出现视频下半截放不出来,这种现象90%是发送方pes包没处理好,pes包最大65535(u_short)。

如果是下半截严重花屏,多半是发送方没有做流量峰值控制,接收方扩大缓冲区可以解决,但容易丢包。简单的峰值控制定时循环时设置最大发送rtp包数即可。

海康h265的ps流中有0x00 0x00 0x01 0xbd字段,不知道啥用,注意解ps流时去掉它附带的数据就行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值