sngrep可以在终端实时抓取并显示SIP呼叫流信息,并且支持键盘控制,可以预览SIP消息、查看呼叫流程图、过滤、对比、信令统计、结果导出,也可以用来读取分析其它抓包工具(wireshark、tcpdump)导出的pcap文件。
https://github.com/irontec/sngrep
https://github.com/irontec/sngrep/wiki
Debian / Ubuntu
apt-get update
apt-get install sngrep
CentOS / RHEL Linux
yum install sngrep
OSX(苹果MacOS系统)
brew install sngrep
源码安装依赖构建工具automake,编译工具gcc,最基本依赖库libpcap,使用默认 ./configure 构建Makefile; 也可以根据需要在 ./configure 时添加参数以编译需要的功能,例如: --with-openssl --with-gnutls --with-pcre --enable-unicode --enable-ipv6 --enable-eep”等。 如果 make 有报错,则需要安装添加项所需的依赖后运行./bootstrap.sh,再次进行Makefile构建。
wget https://codeload.github.com/irontec/sngrep/zip/refs/heads/master -O sngrep-master.zip
unzip sngrep-master.zip
cd sngrep-master
./bootstrap.sh
./configure
make
make install
命令行运行sngrep后可以看到主页面,如下图所示:
Esc 返回/退出;位于主页面退出sngrep,其它页面时返回上级页面
↑ ↓ ← → 方向键控制光标到所需项
Enter 打开光标所在项的详情 或 保存设置等
A 大写A,跳转到最新Sip消息所在位置
S 大写S,保存抓包信息到文件中(文件格式.txt或.pcap)
熟练使用上述快捷键可以很方便对抓取到的Sip消息进行查阅、分析和保存,可以满足日常使用场景。
sngrep功能强大,下面会对部分设定和使用场景举例说明,更多讯息建议参考Wiki。
可以运行 sngrep --help 获得所有启动参数说明,添加启动参数获得更多功能支持; 例如抓取RTP媒体,需要启动sngrep时添加-r参数。