概述

在VOIP的使用过程中,最常见的问题就是信令不通和语音质量问题。

通常的问题跟踪手段包括日志分析、抓包分析。

抓包的工具有wireshark、tcpdump等等,如果是只针对sip信令的抓包,则sngrep更专业好用。

sngrep对SIP抓包的专业性体现在:

  1. 实时抓取,实时展示。
  2. 可以作为sip PCAP查看器。
  3. 对sip信令中的任意字段设置过滤器。
  4. 对一个dialog的sip信令自动关联。

环境

centos6,centos7

安装

依赖库

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

yum源

vi  /etc/yum.repos.d/irontec.repo

[irontec]

name=Irontec RPMs repository

baseurl=http://packages.irontec.com/centos/$releasever/$basearch/

安装

rpm --import http://packages.irontec.com/public.key

yum install sngrep

命令帮助

[root@localhost ~]# sngrep --help

Usage: sngrep [-hVcivNqrD] [-IO pcap_dump] [-d dev] [-l limit] [-B buffer] [-LHE capture_url] [<match expression>] [<bpf filter>]

    -h --help            This usage

    -V --version         Version information

    -d --device          Use this capture device instead of default

    -I --input           Read captured data from pcap file

    -O --output          Write captured data to pcap file

    -B --buffer          Set pcap buffer size in MB (default: 2)

    -c --calls           Only display dialogs starting with INVITE

    -r --rtp             Capture RTP packets payload

    -l --limit           Set capture limit to N dialogs

    -i --icase           Make <match expression> case insensitive

    -v --invert          Invert <match expression>

    -N --no-interface    Don't display sngrep interface, just capture

    -q --quiet           Don't print captured dialogs in no interface mode

    -D --dump-config     Print active configuration settings and exit

    -f --config          Read configuration from file

    -F --no-config       Do not read configuration from default config file

    -R --rotate          Rotate calls when capture limit have been reached

    -H --eep-send        Homer sipcapture url (udp:X.X.X.X:XXXX)

    -L --eep-listen      Listen for encapsulated packets (udp:X.X.X.X:XXXX)

-E --eep-parse       Enable EEP parsing in captured packets

测试

指定网卡br0抓包

sngrep –d br0

主界面,展示所有抓取的sip信令,按照dialog展示

上下选择某一个dialog,enter进入查看信令细节,本图是一个注册过程的信令

本图是一个呼叫dialog的完整信令交互展示

总结

sngrep是一个非常好用的sip呼叫跟踪工具,还有很多的细节和使用方法有待开发。

比如我们可以在sip server上对指定号码抓取呼叫信令和rtp媒体流,用来跟踪定位问题。


空空如常

求真得真

sip信令跟踪工具sngrep的更多相关文章

  1. SIP信令跟踪工具HOMER

    概述 HOMER是一款100%开源的针对SIP/VOIP/RTC的抓包工具和监控工具. HOMER是一款强大的.运营商级.可扩展的数据包和事件捕获系统,是基于HEP/EEP协议的VoIP/RTC监控应 ...

  2. 推荐windows下的日志跟踪工具:SnakeTail

    用过Linux的同学都知道,在Linux中要实时跟踪日志文件那是非常的方便,Tail.Less都可以做到. 开启动态跟踪后,程序会监视文件修改,从而不断刷新出最新的内容,对于线上运维特别有用.   今 ...

  3. 项目管理和缺陷跟踪工具Redmine

    官网: http://www.redmine.org/ http://demo.redmine.org/ 下载: http://www.redmine.org/projects/redmine/wik ...

  4. PLSQL_性能优化效能跟踪工具SQL Trace分析(案例)

    2014-06-25 Created By BaoXinjian

  5. readmine项目管理和缺陷跟踪工具

    官方网站:http://www.redmine.org/演示地址:http://demo.redmine.org/下载地址:http://www.redmine.org/projects/redmin ...

  6. 分享两个网址,一个是使用mssql自带的跟踪工具和分析工具

    http://www.cnblogs.com/Fooo/archive/2013/02/19/2916789.html 使用mssql自带的跟踪工具和分析工具 http://blog.csdn.net ...

  7. 服务跟踪sleuth和可视化跟踪工具Zipkin

    一.增加配置 在Order工程中添加配置 <dependency> <groupId>org.springframework.cloud</groupId> < ...

  8. 谷歌开源漏洞跟踪工具 Monorail 存在跨站点搜索漏洞

    一名安全研究员表示,在谷歌开源漏洞跟踪工具 Monorail 中找到一个漏洞,可被用于执行跨站点搜索 (XS-Search) 攻击. Monorail 用于检查和 Chromium 相关项目中的问题, ...

  9. 【多线程】死锁与Java栈跟踪工具

    今天面试有一道题,写一个死锁的程序,自己也是短路了,没写出来,回来写下. 死锁常见的情况是A线程持有a锁.阻塞于b锁,B线程持有b锁,阻塞于a锁,形成一个循环阻塞的状态. import java.ut ...

随机推荐

  1. GoLang设计模式05 - 原型模式

    原型模式也是一种创建型模式,它可以帮助我们优雅地创建对象的拷贝.在这种设计模式里面,将克隆某个对象的职责交给了要被克隆的这个对象.被克隆的对象需要提供一个clone()方法.通过这个方法可以返回该对象 ...

  2. C# List集合类常用操作:三、查找

    List集合查询数据 List<Employees> employees = new List<Employees>(); employees.Add(new Employee ...

  3. ssh跳转设置

    SSH工具的非常规使用 原创 景朝阳 FreeSWITCH中文社区 今天   说明:本文所有的命令是基于OpenSSH客户端7.4p1版本.如果出现命令不正确,请检测是否为此OpenSSH版本. 设置 ...

  4. 浅谈 Xamarin Community Toolkit 的未来发展

    .NET MAUI会在今年晚些时候发布,我们也很高兴和大家一起分享我们对Xamarin Community Toolkit的计划! 这包括 .NET MAUI Community Toolkit.Xa ...

  5. 还不知道PHP有闭包?那你真OUT了

    做过一段时间的Web开发,我们都知道或者了解JavaScript中有个非常强大的语法,那就是闭包.其实,在PHP中也早就有了闭包函数的功能.早在5.3版本的PHP中,闭包函数就已经出现了.到了7以及后 ...

  6. dotnet 读 WPF 源代码笔记 布局时 Arrange 如何影响元素渲染坐标

    大家是否好奇,在 WPF 里面,对 UIElement 重写 OnRender 方法进行渲染的内容,是如何受到上层容器控件的布局而进行坐标偏移.如有两个放入到 StackPanel 的自定义 UIEl ...

  7. javascript 一些函数的实现 Function.prototype.bind, Array.prototype.map

    * Function.prototype.bind Function.prototype.bind = function() { var self = this, context = [].shift ...

  8. P7099-[yLOI2020]灼【数学期望,结论】

    正题 题目链接:https://www.luogu.com.cn/problem/P7099 题目大意 给出\(n\)个坐标轴上的点,\(q\)次询问从某点出发每次等概率向左或者向右一格求到达某个给出 ...

  9. P6672-[清华集训2016]你的生命已如风中残烛【结论】

    正题 题目链接:https://www.luogu.com.cn/problem/P6672 题目大意 长度为\(m\)的序列\(a\),有\(n\)个数字不是\(0\),其他\(m-n\)个是\(0 ...

  10. JPA基本用法

    jpa基本查询 1.继承JpaRepository,生成了CRUD方法 public void testBaseQuery() throws Exception {   User user=new U ...