在排查信令协商和媒体丢包问题时,经常会用到抓包工具,本文就与大家分享下这些抓包工具的常用参数。
常用的抓包工具有:
tcpdump
ngrep
sngrep
接下来就给大家分别介绍一下这些抓包工具的用法。
- tcpdump -
tcpdump是老牌的抓包工具,适用场景非常广泛,安装也很简单基本都在官方的基础库内:
tcpdump命令行参数分两部分,一部分是tcpdump的常归参数;一部分是用于过滤包的表达式部分。下面介绍下常用的
部分参数:
下面介绍一些具体的命令:
抓取指定网卡上的包,并以ASCII形式打印包内容:
抓取指定网卡的包,并写入eth0-package.pcap文件:
抓取5060端口的包,并且以600秒间隔写入文件:
常用的一些表达式用法:
- ngrep -
ngrep是grep工具的网络版,它用法与tcpdump差不多,下面介绍几个常用的方法:
- sngrep -
sngrep是专门针对SIP协议的抓包,它会实时过滤抓取的SIP通话,同时在文本界面就可以显示SIP协商流程。这样只需要在服务器上有此工具,就不需要把包下载到本地,用wireshark之类GUI工具去查看SIP协商是否正确。
sngrep启动参数介绍:
在sngrep通话列表文本界面,也有常用的快捷键如下:
- 总结 -
以上三个工具各有特点,可以根据自己喜好和场景选用适合自己的。不过本人在使用中更喜欢用tcpdump工具,因为它更通用,资源占用也更小。比如在大量通话压测的场景,为了分析是应用瓶颈造成包没收到,还是因为网络丢包造成应用没收到。这种情况下就需要用到tcpdump工具实时的将SIP信令的包全部抓取,并写入文件。然后再配合sngrep工具在服务器上查看异常的通话是丢包问题,还是应用瓶颈问题。
作者:Jeebiz 创建时间:2022-12-15 15:04
最后编辑:Jeebiz 更新时间:2025-03-28 15:38
最后编辑:Jeebiz 更新时间:2025-03-28 15:38