Kamailio-Sngrep 短小精悍的利器
一个sip的抓包小工具,在GitHub上竟然能够积累1K的star,看来还是有点东西,当然官方的友链也是发挥了重要作用
首先送上项目地址,有能力的宝子可以自行查看
经典的网络抓包工具有很多,比如:
- Wireshark: 大而全
- tcpdump: 较底层
- Fiddler:主要用于HTTP/HTTPS协议
- ……
但是对于本章要讲的SIP信令的抓包,也就是Wireshark、tcpdump,以及前面讲到过较为系统的Homer,如果嫌弃Wireshark笨重、tcpdump原始,那么就一起来看看这款短小精悍的sngrep。
官方自己定义:是一款可以在命令行终端展示SIP电话消息流的工具,它能够支持实时的抓取并展现SIP包,也可以用来做一个pcap的阅读器。
面向命令行终端,具有可视化能力,实时抓取并展示,简直是生产调试与运维的利器。
- 如何安装?
- 如何使用?
- 如何抓取
- 如何查看pcap文件
如何安装?
前提条件,需要服务器上具备这些模块:
- libncurses5 - for UI, windows, panels.
- libpcap - for capturing packets.
- libssl - (optional) for TLS transport decrypt using OpenSSL and libcrypt
- gnutls - (optional) for TLS transport decrypt using GnuTLS and libgcrypt
- libncursesw5 - (optional) for UI, windows, panels (wide-character support)
- libpcre - (optional) for Perl Compatible regular expressions
- zlib - (optional) for gzip compressed pcap files
可以使用autotools构建,或者cmake,基本是类似的,我这边就用的常规centos系统
autotools:
./bootstrap.sh
./configure
make
make install (as root)
cmake:
mkdir build && cd build
cmake [<options>] ..
make
make install (as root)
一切顺利,构建成功
如何使用?
sngrep 由于是网络抓包,因此至少需要sudo权限。
对于参数可以通过help来看一下
# sngrep --help
Usage: sngrep [-hVcivNqrD] [-IO pcap_dump] [-d dev] [-l limit] [-B buffer] [<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-T --text Save pcap to text file-R --rotate Rotate calls when capture limit have been reached
可以通过命令行指定后开启抓包,也可以开启后在内部过滤
-d网口或设备-I主要是用于查看指定的pcap文件,以便查看sip对话的可视化图-O主要是将实时抓包的数据输出到文件-r主要是抓RTP, 指的是实时传输协议(Real-time Transport Protocol, RTP)数据包的有效载荷部分。RTP 是一个用于传输音频和视频等多媒体数据的网络协议,常用于流媒体服务、语音通信系统(如VoIP)、视频会议等场景中。-l给到数量限制,这个是重要的-T将pcap保存到文本文件
以上是比较常规的参数,常规的使用就是根据一些规则去抓取网络数据包,将pcap文件读取后展示。
如何抓取
sngrep, 直接开启抓,不管三七二十一,全抓

sngrep -d eth0 -O save.pcap port 5060 and udp,指定eth0网口,将数据保存到save.pcap文件,指定端口5060,指定udp类型

F7 开启页面过滤:
- 关键词筛选 SIP From/SIP To/Source/Destination/Playload
- 筛选信令类型,空格选中或取消
- Filter 过滤
F6 查看类似tcpdump的原始数据
F2 Save就类似于-O,但是可以在页面筛选、取消某些会话的导出,-O就是全部了
Enter 看流图

如何查看pcap文件
sngrep -I file.pcap host 192.168.1.1 and port 5060, 从file.pcap读取抓包数据,过滤host和端口
相关文章:
Kamailio-Sngrep 短小精悍的利器
一个sip的抓包小工具,在GitHub上竟然能够积累1K的star,看来还是有点东西,当然官方的友链也是发挥了重要作用 首先送上项目地址,有能力的宝子可以自行查看 经典的网络抓包工具有很多,比如: Wireshark&…...
9.6 Linux_I/O_IO模型
基本概念 I/O执行过程与分类: 用户进程中的一个完整I/O分为 "用户进程空间->内核空间->设备空间(磁盘、网卡)" 这两个阶段。 I/O可以分为内存I/O、网络I/O、磁盘I/O 同步和异步是什么: 1、对于线程的请求调用,同步与异步…...
React 探秘(一):fiber 架构
文章目录 背景React 采用 fiber 主要为了解决哪些问题?性能问题:用户体验问题: 为什么在 React 15 版本中性能会差:浏览器绘制原理:react 15 架构和问题 那么 fiber 怎么解决了这个问题?任务“大”的问题递…...
poi通过在word中写入了表格,通过libreoffice转换成PDF后,word中刚才画的表格宽度无限拉伸问题的解决。
一、复现: poi版本: <poi>3.17</poi><poi-ooxml>3.17</poi-ooxml><poi-ooxml-schemas>3.17</poi-ooxml-schemas><dependency><groupId>org.apache.poi</groupId><artifactId>poi</arti…...
尚硅谷rabbitmq2024 集群篇仲裁队列 第52节 答疑
我们希望创建一个队列,队列分布在各个节点上,仲裁队列很好的解决了这个问题.那么在仲裁队列之前,创建一个队列,队列不是分布在各个节点上的吗? 在RabbitMQ中,默认情况下创建的队列是“普通队列”࿰…...
《Spring Cloud 微服务:构建高效、灵活的分布式系统》
《Spring Cloud 微服务:构建高效、灵活的分布式系统》 一、引言 在当今快速发展的数字化时代,软件系统的规模和复杂性不断增加。为了应对这种挑战,微服务架构应运而生。Spring Cloud 作为构建微服务架构的强大工具集,提供了一系…...
OpenFeign 入门与实战:快速搭建 Spring Cloud 微服务客户端
1. 前言 随着微服务架构的流行,服务之间的通信变得越来越重要。Spring Cloud 提供了一系列工具来帮助开发者构建分布式系统,其中 OpenFeign 是一个轻量级的 HTTP 客户端,它简化了 Web 服务客户端的开发。本文将介绍如何在 Spring Cloud 应用…...
上门按摩系统开发方案源码搭建
上门按摩系统开发方案 一、项目概述 上门按摩系统是一个连接按摩技师和客户的平台,旨在提供便捷、高效的上门按摩服务。通过该系统,客户可以轻松预约合适的按摩技师,并享受个性化的按摩服务。 二、系统功能模块 用户管理模块:…...
【数据结构】宜宾大学-计院-实验四
栈和队列之(栈的基本操作) 实验目的:实验内容:实验结果:实验报告:(及时撰写实验报告):实验测试结果:代码实现1.0:(C/C)【含注释】代码…...
selenium的IDE插件进行录制和回放并导出为python/java脚本(10)
Selenium IDE:Selenium Suite下的开源Web自动化测试工具,是Firefox或者chrome的一个插件,具有记录和回放功能,无需编程即可创建测试用例,并且可以将用例直接导出为可用的python/java等编程语言的脚本。 我们以chrome浏…...
从0到1封装一个image/pdf预览组件
iShot_2024-10-14_16.47.10 目录结构 content.vue <template><div class"no-content-block"><i class"iconfont icondocument large-file" /><div class"text-wrapper">{{ t(__ui__.siPreview.previewSupported) }}<…...
Android build子系统(02)Ninja语法与复杂依赖构建解读
说明:本文将解读Ninja构建系统的基础语法和应用,同时给出一些示例便于理解和学习;给出一个复杂构建的基础demo,通过这个demo的分析理解复杂构建的内在逻辑和build.ninja编写法则;最后扩展之前Android Framework中构建b…...
JavaScript的第三天
目录 JS中的循环,使某些代码重复执行 一、for循环:重复执行某段代码,通常用于计数 1、for的语法结构 2、代码解析 3、代码尝试 4、循环重复相同的代码,可以让用户控制输出的次数(对该变量进行遍历) 5、循环…...
初识git · 有关模型
目录 前言: 有关开发模型 前言: 其实文章更新到这里的时候,我们已经学习了可以满足我们日常生活中的基本需求的指令了,但是为什么要更新本篇文章呢?是因为实际生活中我们对于开发工作,运维工作ÿ…...
基于SpringBoot+Vue+uniapp的海产品加工销售一体化管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
详细视频演示 请联系我获取更详细的视频演示 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不…...
解锁机器人视觉与人工智能的潜力,从“盲人机器”改造成有视觉能力的机器人(下)
机器视觉产业链全景回顾 视觉引导机器人生态系统或产业链分为三个层次。 上游(供应商) 该机器人视觉系统的上游包括使其得以运行的硬件和软件提供商。硬件提供商提供工业相机、图像采集卡、图像处理器、光源设备(LED)、镜头、光…...
CORS预检请求配置流程图 srpingboot和uniapp
首先要会判断预检请求 还是简单请求 简单请求 预检请求 #mermaid-svg-1R9nYRa7P9Pll4AK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-1R9nYRa7P9Pll4AK .error-icon{fill:#552222;}#mermaid-svg-1R9nYRa7P9Pll4…...
用Spring AI 做智能客服,基于私有知识库和RAG技术
Java智能客服系统运用RAG技术提升答疑精准度 基于Spring ai 的 RAG(检索增强生成)技术,Java智能客服系统能够利用私有知识库中的信息提供更准确的答疑服务。 它的核心思路是: 首先,将客服QA以Word形式导入到系统中&…...
TemporalBench:一个专注于细粒度时间理解的多模态视频理解的新基准。
2024-10-15,由威斯康星大学麦迪逊分校、微软研究院雷德蒙德等机构联合创建了TemporalBench,它通过大约10K个视频问答对,提供了一个独特的测试平台,用以评估各种时间理解和推理能力,如动作频率、运动幅度、事件顺序等。…...
网友提问:网上申请流量卡不通过怎么办?
网上申请流量卡不通过怎么办?网上办理流量卡不通过,说明你不符合办理此套餐的要求,可以选择其他套餐,或者其他运营商的流量卡申请试试。 我们不管是在京*、淘*、拼**哪个网站申请的流量卡,提交的申请信息都是由运营商…...
【数据湖01】一文了解啥是数据湖~
说实话,我刚开始听到"数据湖"这个词也懵,以为是多高大上的东西。干了几年数据才发现,其实就是个"大杂烩仓库"。先讲个真事:老刘是怎么被数据搞崩溃的我兄弟老刘,某电商公司负责人。2022年业务暴涨…...
Qwen3-ASR-1.7B安防应用:语音监控智能分析系统
Qwen3-ASR-1.7B安防应用:语音监控智能分析系统 1. 引言 想象一下这样的场景:一个大型商场里,监控摄像头捕捉到了异常情况,但保安人员需要同时盯着几十个屏幕,很难第一时间发现所有问题。或者在一个工厂车间里&#x…...
【网络层-ICMP互联网控制报文协议】
网络层-ICMP互联网控制报文协议一、概念二、应用三、报文类型一、概念 1.专门用来传递网络状态、报错、探测连通性的 “网络信使 / 反馈员”。 2.IP协议只管发包,不管包有没有送到、有没有丢包,ICMP就是给IP做辅助、报错、探测的。 3.ICMP告诉发送方&am…...
避坑指南:MediaPipe安装常见报错解决方案(附虚拟环境配置技巧)
MediaPipe实战避坑手册:从环境配置到高效开发的完整指南 在计算机视觉和机器学习领域,MediaPipe作为Google开源的多媒体处理框架,因其强大的实时感知能力和跨平台特性而备受开发者青睐。然而,许多开发者在初次接触MediaPipe时&…...
原生 JS 实现图片预览上传组件:多图上传 + 拖拽上传 + 裁剪预览 + 进度显示(附完整源码)
前言图片上传是前端开发中高频且核心的功能场景,如头像上传、素材管理、表单提交等。本文基于原生 HTMLCSSJavaScript 实现一套企业级图片预览上传组件,包含多图选择、拖拽上传、实时预览、图片裁剪、上传进度显示、文件大小 / 格式校验等功能࿰…...
反向海淘商家必看!精细拍照服务,帮你降本留客不踩坑
做反向海淘生意的商家都懂,最头疼的莫过于用户投诉与跨境退货——海外用户担心货不对版不敢下单,下单后因实物与图片不符发起退货,高额跨境运费、人力成本,不仅压缩利润,还会拉低店铺口碑,甚至流失核心客群…...
4G5G专题-85: 架构 - 5G NR空中接口与协议栈演进
1. 5G NR空中接口设计原理 5G NR(New Radio)空中接口是5G网络的核心技术之一,它直接决定了无线信号的传输效率和质量。与4G LTE相比,5G NR在设计上做了许多突破性的改进,尤其是在低延迟和高带宽场景下表现尤为突出。 1…...
OpenClaw+Qwen3.5-9B避坑指南:5个典型配置错误修复
OpenClawQwen3.5-9B避坑指南:5个典型配置错误修复 1. 为什么需要这份避坑指南 上周我在本地部署OpenClaw对接Qwen3.5-9B模型时,连续踩了三个配置坑,导致整个周末都在和报错信息搏斗。最崩溃的是,有些错误提示非常隐晦——比如模…...
别再手动整理了!用这招自动同步思维导图到Markdown(支持ProcessOn/XMind/MindNode)
思维导图与Markdown自动化同步实战指南 每次会议结束后的文档整理是否让你头疼?技术文档的频繁更新是否消耗了你大量时间?本文将为你揭示一套零干预的自动化工作流,只需专注思维导图创作,Markdown文档会自动同步更新。告别复制粘贴…...
[特殊字符] 《网络知识和Servlet重点知识整理》
一、网络作用(基础认知) 核心作用:实现不同设备之间的数据传输与通信,支撑互联网应用(网页、APP、游戏、视频等)。 信息传递:客户端 ↔ 服务器 资源共享:文件、数据库、计算资源 分…...
