SIP信令跟踪工具HOMER
概述
HOMER是一款100%开源的针对SIP/VOIP/RTC的抓包工具和监控工具。
HOMER是一款强大的、运营商级、可扩展的数据包和事件捕获系统,是基于HEP/EEP协议的VoIP/RTC监控应用程序,并可以使用即时搜索、处理和存储大量的信令、RTC事件、日志和统计信息。
之前的文章中,我们介绍过一款针对SIP的抓包工具sngrep,相比来说,HOMER有更加成熟完善的架构和体系,包括后台的数据库存储和前台的web页面展示数据。
在我们的生产环境中,一直有使用HOMER来作为呼叫信令的收集和跟踪工具,只是版本比较老了,最近准备更新换代。
HOMER最新版本是HOMER7。
环境
CentOS release 7.0 (Final)或以上版本
HOMER7
部署架构
图片来自官方介绍

CAPTURE AGENT,抓包终端,freeswitch、opensips这些常见的软交换都内置了该功能。
CAPTURE SERVER,抓包服务器,收集sip信令用的,老版本中使用kamailio,新版本更换了?
DATABASE,一般是mysql和postgres,没有用过时序数据库。
HOMER APP/API,web页面,提供给客户查看信息。
USERS,用户通过浏览器查看呼叫信令、统计信息等。
安装方式
在HOMER7的官方wiki中,安装方式有3种,手动安装,快速安装,docker安装。
根据文档标注的难易程度,我选择了easiest的docker安装。。。
安装docker
首先在centos7上安装docker工具。
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
安装docker-compose
docker-compose下载网址:https://github.com/docker/compose/releases 。
使用命令下载docker-compose。
curl -L https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 > /usr/local/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose
[root@localhost ~]# docker-compose -v
Docker Compose version v2.4.1
docker常用命令
docker version
docker images
docker ps
docker container ls
查看一下我们的docker版本。
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 20.10.14
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 24 01:49:57 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.14
API version: 1.41 (minimum version 1.12)
Go version: go1.16.15
Git commit: 87a90dc
Built: Thu Mar 24 01:48:24 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.11
GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
HOMER7安装
跟随HOMER7的官方安装指南。
git clone https://github.com/sipcapture/homer7-docker
cd homer7-docker/heplify-server/hom7-prom-all
docker-compose up -d
一阵电闪雷鸣之后,安装完成。
[+] Running 11/11
⠿ Network hom7-prom-all_default Created 0.2s
⠿ Volume "hom7-prom-all_prometheus_data" Created 0.0s
⠿ Volume "hom7-prom-all_grafana_data" Created 0.0s
⠿ Container prometheus Started 1.2s
⠿ Container loki Started 1.3s
⠿ Container grafana Healthy 2.8s
⠿ Container db Healthy 4.7s
⠿ Container alertmanager Started 1.2s
⠿ Container nodeexporter Started 1.1s
⠿ Container homer-webapp Started 5.1s
⠿ Container heplify-server Started
测试
使用浏览器访问地址:http://192.168.0.151:9080/,输入默认的账号密码admin/sipcapture。

总结
HOMER的官方网站:http://sipcapture.org/
HOMER与freeswitch配合使用,搭建VOIP的业务平台,对平台的稳定和问题查错有非常大的帮助,极大的缩短发现问题的时间。
另外,HOMER也可以设置显示多个node节点的关联信令,以及通过收集RTCP信息来统计线路通话质量等等功能。
HOMER比SNGREP更强大,更易用。
下一次,我们介绍如何把freeswitch/opensips的信令上报HOMER平台,并通过WEB页面查看和搜索信令流。
空空如常
求真得真
SIP信令跟踪工具HOMER的更多相关文章
- sip信令跟踪工具sngrep
概述 在VOIP的使用过程中,最常见的问题就是信令不通和语音质量问题. 通常的问题跟踪手段包括日志分析.抓包分析. 抓包的工具有wireshark.tcpdump等等,如果是只针对sip信令的抓包,则 ...
- 推荐windows下的日志跟踪工具:SnakeTail
用过Linux的同学都知道,在Linux中要实时跟踪日志文件那是非常的方便,Tail.Less都可以做到. 开启动态跟踪后,程序会监视文件修改,从而不断刷新出最新的内容,对于线上运维特别有用. 今 ...
- 项目管理和缺陷跟踪工具Redmine
官网: http://www.redmine.org/ http://demo.redmine.org/ 下载: http://www.redmine.org/projects/redmine/wik ...
- PLSQL_性能优化效能跟踪工具SQL Trace分析(案例)
2014-06-25 Created By BaoXinjian
- readmine项目管理和缺陷跟踪工具
官方网站:http://www.redmine.org/演示地址:http://demo.redmine.org/下载地址:http://www.redmine.org/projects/redmin ...
- 分享两个网址,一个是使用mssql自带的跟踪工具和分析工具
http://www.cnblogs.com/Fooo/archive/2013/02/19/2916789.html 使用mssql自带的跟踪工具和分析工具 http://blog.csdn.net ...
- 服务跟踪sleuth和可视化跟踪工具Zipkin
一.增加配置 在Order工程中添加配置 <dependency> <groupId>org.springframework.cloud</groupId> < ...
- 谷歌开源漏洞跟踪工具 Monorail 存在跨站点搜索漏洞
一名安全研究员表示,在谷歌开源漏洞跟踪工具 Monorail 中找到一个漏洞,可被用于执行跨站点搜索 (XS-Search) 攻击. Monorail 用于检查和 Chromium 相关项目中的问题, ...
- 【多线程】死锁与Java栈跟踪工具
今天面试有一道题,写一个死锁的程序,自己也是短路了,没写出来,回来写下. 死锁常见的情况是A线程持有a锁.阻塞于b锁,B线程持有b锁,阻塞于a锁,形成一个循环阻塞的状态. import java.ut ...
随机推荐
- Docker修改默认IP
Docker修改默认IP 删除原有配置 sudo systemctl stop docker sudo ip link set dev docker0 down sudo brctl delbr do ...
- 说说UI自动化中的PO模式
PO模式,全称PageObject模式,即页面对象模式.将页面定位与业务操作分离. po模式有以下几个优点: 1.易读性好 2.扩展性高 3.复用性强 4.维护性好 5.代码冗余率低 了解了po模式及 ...
- 内网渗透----Linux下信息收集
基础信息 1.系统类型 cat /etc/issue查看系统名称 Lsb-release查看系统名称.版本号 2. 内核版本 uname –a 查看所有信息 ls /root |grep vmlinu ...
- 题解P0006:生日蛋糕(P1731)
这道题居然是1999年省选题!这可能是洛谷蓝题里最水的了... 题目链接:https://www.luogu.com.cn/problem/P1731 大家有兴趣可以去看看 题目描述:就是类似这样一个 ...
- 浅析Java反射--Java
前言 上篇文章我们提到了可以使用反射机制破解单例模式.这篇文章我们就来谈一谈什么是反射,反射有什么用,怎么用,怎么实现反射. 概述 Java的反射(reflection)机制:是指在程序的运行状态中, ...
- 论文翻译:2018_Source localization using deep neural networks in a shallow water environment
论文地址:https://asa.scitation.org/doi/abs/10.1121/1.5036725 深度神经网络在浅水环境中的源定位 摘要: 深度神经网络(DNNs)在表征复杂的非线性关 ...
- 27.Java 飞机游戏小项目
开篇 游戏项目基本功能开发 飞机类设计 炮弹类设计 碰撞检测设计 爆炸效果的实现 其他功能 计时功能 游戏项目基本功能开发 这里将会一步步实现游戏项目的基本功能. 使用 AWT 技术画出游戏主窗口 A ...
- Struts2的功能扩展点有哪些?
l Interceptor及其相关子类 l TypeConverter及其相关子类 l Validator及其相关子类 l Result及其相关子类 l ObjectFactory及其相关子类
- 什么是springcloud?springcloud断路器的作用是什么?springcloud的核心组件有什么?
一.什么是springcloud 1.springcloud概述 Spring Cloud是一个微服务框架,相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案. Sp ...
- kafka producer 打数据,ack 为 0, 1, -1 的时候代表啥, 设置 -1 的时候,什么情况下,leader 会认为一条消息 commit了?
1(默认) 数据发送到Kafka后,经过leader成功接收消息的的确认,就算是发送成功了.在这种情况下,如果leader宕机了,则会丢失数据. 0 生产者将数据发送出去就不管了,不去等待任何返回. ...