sip 时序图_呼叫中心使用技巧之 sngrep捕获sip数据包

安装请参考 https://github.com/irontec/sngrep/wiki/Building

一、演示使用centos7安装配置

git clone git@github.com:irontec/sngrep.git –depth=1

cd sngrep/

./bootstrap.sh

报错缺少依赖 直接安装依赖即可

yum install -y ncurses-devel make libpcap-devel pcre-devel openssl-devel git gcc autoconf automake

脚本执行成功

你可以将以下标志传递给. /configure 以启用某些功能

配置标志功能

–with-openssl 添加OpenSSL支持来解析捕获的消息( 请求。 libssl )

–with-gnutls 添加GnuTLS支持来解析捕获的消息( 请求。 gnutls )

–with-pcre 在正则表达式字段中添加Perl兼容的正规表达式 支持

–enable-unicode 添加 Ncurses/unicode支持( 要求。 libncursesw5 )

–enable-ipv6 启用IPv6数据包捕获支持。

–enable-eep 启用EEP数据包发送/接收支持。

./configure

执行成功

make && make install

二、运行sngrep

呼叫列表窗口

空格选中呼叫流 ,回车进入

呼叫流窗口

CSeq简单的呼叫流着色消息

通过请求/响应着色消息的多个呼叫流的组合视图

点击回车进入调用原始窗口

空格选中两条消息流,回车进入消息差异窗口

F8设置

列表选择

F7滤镜对话框

F2保存对话框

统计

sngrep 参数

-h --help:显示帮助信息

-V --version:显示版本信息

-d --device:指定抓包的网卡

-I --input:从pacp文件中解析sip包

-O --output:输出捕获的包到pacp文件中

-c --calls:仅显示邀请消息

-r --rtp:捕获RTP数据包有效载荷捕获rtp包

-l --limit:限制捕获对话的数量

-i --icase:使大小写不敏感

-v --invert:颠倒(不太明白)

-N --no-interface:不显示sngrep界面,仅捕获

-q --quiet:不要在***面模式下打印捕获的对话框

-D --dump-config:打印活动的配置设置并退出

-f --config:从文件中读取配置

-R --rotate:达到捕获限制时轮换呼叫。

-H --eep-send:荷马sipcapture网址(udp:XXXX:XXXX)

-L --eep-listen:监听封装的数据包(udp:XXXX:XXXX)

-k --keyfile:RSA私钥文件解密捕获的数据包

抓取INVITE请求的包:

sngrep ^INVITE

抓取REGISTER请求的包:

sngrep ^REGISTER

抓取OPTIONS请求的包:

sngrep ^OPTIONS

捕获端口5060上的所有SIP数据包:

sngrep port 5060

使用sngrep查看来自pcap文件的SIP数据包,并使用过滤器:

sngrep -I file.pcap host 192.168.1.1 and port 5060

或实时捕获,将数据包保存到新文件:

sngrep -d eth0 -O save.pcap port 5060 and udp

三、页面

sngrep有四个页面,每个页面都有一些不同的快捷键。

呼叫列表页面

呼叫流程页面

原始呼叫信息页面

信息对比页面

呼叫列表页面

快捷键

• 箭头键:在列表中移动,除上下箭头还可以使用j,k来移动光标

• 输入:显示当前或所选对话框的消息流

• 答:自动滚动到新电话,自动滚动到新的电话

• F2或S:将所选/所有对话框保存到PCAP文件,保存对话框到pacp文件

• F3或/或TAB:输入显示过滤器。该过滤器将应用于列表中的文本行,进入搜索

• F4或x:显示当前选择的对话框和其相关的一个。回到第一个SIP消息上

• F5:清除通话清单,清空通话清单

• F6或r:以原始文本显示所选对话框的消息,显示原始的sip消息

• F7或f:显示高级过滤器对话框显示高级过滤弹窗

• F9或l:如果启用,则打开/关闭地址解析

• F10或t:选择显示的列,显示或隐藏侧边sip消息栏

呼叫列表页面还能够显示两个弹窗,按f可以显示高级过滤配置

按t可以显示,自定义呼叫列选项弹窗

呼叫流程页面

快捷键

键绑定:

• 方向键:浏览消息

• 输入:显示当前的原始消息(以便您可以复制有效负载)

• F2或d:显示sdp消息,f2的某个模式变为时序图更紧凑

• F3或t:显示或关闭sip侧边栏

• F4或x:回到顶部

• F5或s:每个ip地址仅显示一列

• F6或R:显示原始的sip消息

• F7或c:更改颜色模式,有的颜色模式很容易让人无法区分当前查看的sip消息是哪一个,所以需要更改颜色模式

• F9或l:如果启用,则打开/关闭地址解析

• 9和0:增加或减少侧边栏的宽度

• T:重绘侧边栏

• D:仅显示带有sdp的消息

• 空格键:选择一个sip消息,再次找个sip消息,然后就会进入对比模式

原始sip消息界面

消息对比界面

在呼叫列表页面上按空格键输入一个消息,然后选择另外一个sip消息后,再次按空格键,就可以进入消息对比页面

分析媒体问题

使用sngrep -r可以用来捕获媒体流,默认不加-r则只能显示信令。

在呼叫流程页面,点击F3,可以动态的查看媒体流的情况。在分析语音问题时,这是非常方便的分析工具。

ngrep使用注意点

• 如果不要抓取的sngrep抓包,否则sgrep会占用非常多的内存。如果必须抓取的包,则使用tcpdump。

• 某些情况下,sngrep会丢包

• 某些情况下,sngrep会什么包都抓包不到,注意此时很可能要使用-d去指定抓包的网卡

• 如果ABC分别是三台独立虚拟机的SIP服务器,在B上抓包只能分析AB,和BC直接的流量。sngrep只能捕获本机网卡的接收和发送的流量。

• 如果您需要记录所有的sip消息,并展示。可以考虑使用siphub,或者homer。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值