暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sngrep工具抓取SIP包及可视化分析sip包

原创 是赐赐啊! 2023-06-05
3535

sngrep工具一个专门用来在linux系统上抓取SIP包及可视化分析sip包的开源工具,对于学习SIP信令及视频彩铃投诉来说,可以减少下载整个caps文件的工作量。 tshark为linux版的wireshark命令行工具,可以作为sngrep工具的辅助,有些情况下,sngrep根据主被叫号码过滤不出sip包,可以使用tshark预先分析,再决定是否需要下载整个cap包。

附:  sgrep工具使用说明:

https://blog.51cto.com/u_13434975/2549956

github上可以详细了解sngrep的代码相关细节: https://github.com/irontec/sngrep

一、sngrep和wireshark安装步骤

安装环境:CentOS Linux release 7.6.1810 (Core)   x86_64 GNU/Linux

 

1、sngrep安装

Ø rpm包

sngrep-1.4.9-0.el7.x86_64.rpm

Ø 安装指令,centos7不需要安装额外的依赖包,可直接安装rpm文件

sudo rpm -ivh sngrep-1.4.9-0.el7.x86_64.rpm

2、wireshark安装

操作系统版本:CentOS Linux release 7.8.2003 (Core)

安装依赖包:libsmi即可成功安装:wireshark-1.10.14

  [root@gd_gd_dg_xlas_xlhs1_c_dxby omsan]# rpm -ivh libsmi-0.4.8-13.el7.x86_64.rpm

/etc/host.conf: line 3: bad command `nospoof on'

warning: libsmi-0.4.8-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Preparing...                          ################################# [100%]

Updating / installing...

   1:libsmi-0.4.8-13.el7              ################################# [100%]

[root@gd_gd_dg_xlas_xlhs1_c_dxby omsan]#

[root@gd_gd_dg_xlas_xlhs1_c_dxby omsan]# rpm -ivh wireshark-1.10.14-7.el7.x86_64.rpm

/etc/host.conf: line 3: bad command `nospoof on'

warning: wireshark-1.10.14-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Preparing...                          ################################# [100%]

Updating / installing...

   1:wireshark-1.10.14-7.el7          ################################# [100%]

[root@gd_gd_dg_xlas_xlhs1_c_dxby omsan]#

[root@gd_gd_dg_xlas_xlhs1_c_dxby omsan]#

二、sngrep工具简单用法;

1、h/H键,显示指令帮助信息

 

 

sngrep -I 20220524084743_nfgz_kxc_xlsip101.cap   (主叫:18684637771;被叫:18175763307)

2、CRT终端彩色显示配置,方便使用上、下方向键选择和分析信令


3、筛选出主被叫码流

F键,SIP From,SIP To 两项埴入主、被叫号码,即可筛选出该能呼叫的信令


4、菜单栏space(空格)选项,选择下图中两条信令消息,然后回车;


 

5、保存筛选出来的码流

S键,保存该通通话信令文件,该功能十分有用。


 

8、查看完整的信令流程,按上下键即可查看每个流程的会话信息

上、下方向键:移动信令流程,选择某条信令,enter回车查看详细的信令内容。


 

9、显示全部dialog

Sngrep默认只输出20000个dialog会议信息,如果该信令文件较大,需要使用-l参数全部加载,这个时候注意主机系统内存资源。

sudo sngrep -I 20220601115134_nfgz_kxc_xlas101.cap -l  5000000

10、注意该主机的占用内存资源

1.1G的cap文件,sngrep加载进行分析,需要消耗约3个G内存,尽量不要在AS主机上使用sngrep,建议在信令日志主机上使用sngrep指令。


11、显示cap包的统计信息

按I 键即可,显示该包的会话信息,包括SIP消息,该SIP消息的响应码分布,快速确认4XX消息量的占比,凌晨割接时查看该统计信息,有利于从全局分析业务版本是否存在严重的信令交互问题。


 

 

三、wireshark工具简单用法;

1、过滤某个号码的信令文件,并下载至本地分析

查看18175763307号码的呼叫SIP消息,包含了主被叫消息,同时抽取该

部分SIP信令到out.cap文件,类似wireshark中导出指定分组,这个也十分有用,这样大家不用下载整个文件,仅需要下载几十K甚至几百K的文件即可。

tshark -r 20220524084743_nfgz_kxc_xlsip101.cap  -R 'sip contains "18175763307"' -w out.cap


 

2、过滤sip消息

tshark -r 20220524084743_nfgz_kxc_xlsip101.cap  -R 'sip && !sip.Method contains OPTIONS &&!sip.CSeq contains OPTIONS'


4、过滤invite消息

tshark -r 20220706.cap -R 'sip.Method == "INVITE"'

tshark -r 20220706.cap -R "sip.Request-Line contains INVITE"


 

5、SIP消息统计报表

tshark -r 20220706.cap  -q -z sip,stat

 


比较SNGREP的I指令,tshark分析的更细节,有助于判断问题:


6、SIP消息分析

 

根据号码筛选信令,可以大概的了解信令流程

tshark -r 20220706.cap -R "sip contains 13635749592"


查看invite消息的应用层字段值,根据具体frame packet查看包的详细信息

tshark -r 20220706.cap -R "frame.number == 157305"  -V


 

查看SIP消息中480异常消息,根据具体的packt id查看详细的packet信息

tshark -r 20220706.cap -R "sip.Status-Code == 480"


 

Tshark 实时抓取源地址、源端口、目地址、目的端口

tshark -T fields -E header=y -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport


 

实时抓取mysql的SQL语句:

tshark  -i eth0  -n -f 'tcp dst port 3306' -T fields -e mysql.query

tshark -i enp2s0 -t ad -w 2018.pcap -f "ip src host 被测机器ip(例:192.168.1.189)"

tshark -r 2018.pcap -R 'http.host==目标域名(例:www.xxx.com)' -qz conv,ip

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论