使用sngrep跟踪分析sip信令
sngrep 是一款专业的sip抓包工具,且可以解析tcpdump抓出来的包。
sip协议(会话初始协议),是一种多媒体通信协议;
sip协议的消息主体(报文部分)一般使用的是SDP消息格式。
RTP是一种数据传输协议
tcpdunmp
的基本抓包命令:tcpdump -s 0 -i eth0 udp -w outbound_m_22.pcap
-i
指定了网卡-w
抓包后的文件名
sngrep
也存在抓包命令,但是没有具体用过。
前台使用sngrep
注: sngrep需单独安装,这里不描述安装过程
在命令行输入sngrep
,进入到主页面
最下面的一行展示了一些用法介绍
Esc
退出当前工具Enter
进入了消息详情space
选中当前数据,再次点击取消选择F1
进入帮助页面F2
保存符合条件列(比如选中的列,符合筛选条件的列等)F3
进入搜索页面,可以按条件进行搜索F4
将选中行的信息在一个屏幕内进行拼接展示F5
清除当前页面的内容F7
进行筛选条件的设置F10
自定义设置需要展示的列
保存文件
扩展拼接展示
自定义设置需要展示的列之后的效果
请求详情页面
最下面的一行展示了一些用法介绍
Esc
返回上一层Enter
上下滑动,选择消息后,点击进入了消息详情space
选中当前数据,滑动再次选择一条数据,会将这两条的数据进行对比F1
进入帮助页面F2
显示SDP消息格式的一些信息。包括: 地址信息,每天类型,占用端口,编码方式,频率等信息F3
打开RTP流的信息,展示了当前rtp流的编码,媒体传输数量,双方端口号,若是正在进行的会话。会显示是否有数据流传输F4
回到第一个消息s
修改地址栏是否展示地址端口F6
以Raw格式展示协议c
进行颜色的调整9
向左移动报文,0
向右移动报文- SDP文本信息中,
a=sendrecv
表示消息是有效的;a=inacative
表示消息是无效的; - 媒体端口是0,也表示消息是无效的;
a=rtpmap:101 telephone-event/16000
表示按键信息,但是sngrep不会展示按键信息;=rtpmap:18 G729/8000
协商的一种编码信息
数据对比
响应页面
附件
sip信令的格式及状态码参考文章: https://www.cnblogs.com/11sgXL/p/13553517.html
请求消息类型及含义
请求消息 | 消息含义 |
---|---|
INVITE | 发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够接受的媒体类型及其参数。 被叫方必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指示其行将发送的媒体。如果收到的是关于参加会议的邀请,被叫方可以根据 Call-ID或者会话描述中的标识确定用户已经加入该会议,并返回成功响应消息。 |
ACK | 证实已收到对于 INVITE 请求的最终响应。该消息仅和 INVITE 消息配套使用。 |
BYE | 释放已建立的呼叫 |
CANCEL | 取消尚未完成的呼叫请求,对于已完成的请求(即已收到最终响应的请求)则没有影响。 |
REGISTER | 向SIP网络服务器登记用户位置信息 → 即注册认证 |
OPTIONS | 查询服务器的能力 |
响应状态码及含义
状态码 | 消息功能 |
---|---|
1xx | 信息响应(呼叫进展响应)0 表示已经接受到请求消息,正在对其进行处理 |
100 | 试呼叫 |
180 | 振铃 |
181 | 呼叫正在前转 |
182 | 排队 |
2xx | 成功响应 表示请求已经被成功接收、处理并被成功接受 |
200 | OK |
3xx | 重定向响应 表示需要采取进一步动作,以完成该请求消息 |
300 | 多重选择 |
301 | 永久迁移 |
302 | 临时迁移 |
303 | 见其他 |
305 | 使用代理 |
380 | 代换服务 |
4xx | 客户出错 表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理 |
400 | 错误请求 |
401 | 无权 |
402 | 要求付款 |
403 | 禁止 |
404 | 没有发现 |
405 | 不允许的方法 |
406 | 不接受 |
407 | 要求代理权 |
408 | 请求超时 |
410 | 消失 |
413 | 请求实体太大 |
414 | 请求URI太大 |
415 | 不支持的媒体类型 |
416 | 不支持的URI方案 |
420 | 分机无人接听 |
421 | 要求转机 |
423 | 间隔太短 |
480 | 暂时无人接听 |
481 | 呼叫腿/事务不存在 |
482 | 相环探测 |
483 | 调频太高 |
484 | 地址不完整 |
485 | 不清楚 |
486 | 线路忙 |
487 | 中止请求 |
488 | 此处不接受 |
491 | 待处理请求 |
493 | 难以辨认 |
5xx | 服务器出错 表示SIP服务器故障不能完成对正确消息的处理 |
500 | 内部服务器错误 |
501 | 没实现的 |
502 | 无效网关 |
503 | 不提供此服务 |
504 | 服务器超时 |
505 | SIP版本不支持 |
513 | 消息太长 |
6xx | 全局故障 表示请求不能在任何SIP服务器上实现 |
600 | 全忙 |
603 | 拒绝 |
604 | 都不存在 |
606 | 不接受 |
使用sngrep跟踪分析sip信令相关推荐
- MRCP UA的创建及SIP信令处理
在mrcp_sofia_task_initialize中调用nua_create一个UA(User agent)这个跟freeswitch SIP信令的接收,是一样的.在nua_create的时候会设 ...
- MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral)
MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral) Tracking by Instance Detection: A Meta-Learning Approach 论文链接:h ...
- oracle11g ora 29927,【案例】Oracle内存泄漏 进行10046跟踪分析07445导致数据库宕机
天萃荷净 在一次ORA-7445导致oracle数据库down掉故障分析中,发现sql因某种原因导致大量的sql area中很多内存泄露,最终导致数据库down掉.通过实验找出类此奇怪SQL. SEL ...
- 跟踪分析Linux内核5.0系统调用处理过程
跟踪分析Linux内核5.0系统调用处理过程 学号384 原创作业转载请注明出处+中国科学技术大学孟宁老师的Linux操作系统分析 https://github.com/mengning/linuxk ...
- 理解进程调度时机跟踪分析进程调度与进程切换的过程
虞啸川 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux既支持 ...
- wireshark分析SIP协议——注册
SIP 是VOIP目前非常流行的一种协议.有关协议的详细原理参照相关文档. 本文通过wireshark抓包分析SIP user agent(用户代理客户机,uac)与SIPserve之间的交互 ...
- 20135202闫佳歆--week 8 实验:理解进程调度时机跟踪分析进程调度与进程切换的过程--实验及总结...
week 8 实验:理解进程调度时机跟踪分析进程调度与进程切换的过程 1.环境搭建: rm menu -rf git clone https://github.com/megnning/menu.gi ...
- 实验八---理解进程调度时机跟踪分析进程调度与进程切换的过程
实验目的: 使用gdb跟踪分析一个schedule()函数,理解Linux系统中进程调度的时机. 实验过程: 登陆实验楼虚拟机http://www.shiyanlou.com/courses/195 ...
- 举例跟踪分析Linux内核5.0系统调用处理过程
学号最后三位编号:094 原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 0.实验内容 编译内核5.0 qemu -kernel linu ...
- 智能监控系统、人脸识别、智能抓拍、预警系统、机动车辆抓拍、行人抓拍、监控预警管理后台、人流监控、人脸信息采集、语音报警、轨迹分析、抓拍检索、园区监控、实时监控、录像回放、防盗预警、智能算法、跟踪分析
智能监控系统.人脸识别.智能抓拍.预警系统.机动车辆抓拍.行人抓拍.监控预警管理后台.人流监控.人脸信息采集.语音报警.轨迹分析.抓拍检索.园区监控.实时监控.录像回放.防盗预警.智能算法.跟踪分析. ...
最新文章
- ASP.NET中实现大结果集分页研讨 转
- 推荐系统笔记:基于非负矩阵分解的协同过滤
- 【资源】C++学习资料 - 逆天整理 - 精华无密版【最新】
- php数组array_push()和array_pop()以及array_shift()函数
- 机器学习-集成学习:随机森林(Random Forest)
- Spring MVC常用注解,你会几个?
- 基础排序算法···1
- 漫画:为什么下载电影进度总是卡在 99% 就不动了?
- jquery 获取父窗口的元素、父窗口、子窗口
- oracle的关闭过程(各个模式关闭)
- c语言题库及答案(选择题,C语言题库及答案(选择题).doc
- Layabox 2 使用其它编辑器开发layabox2d
- librosa.stft librosa.core.stft
- Redux-Router
- python求平均值函数_python 求均值、中位数、众数的方法
- 爽一把手写Bundle Adjustment
- Illegal group reference:非法组引用异常
- 看不起java_程序员铁律,用Tab的瞧不起用Space键的,用C语言的瞧不起用Java的!...
- 服务器和交换机物理连接_Brocade博科交换机 SAN存储区域网络
- 读书笔记(python)--图及其算法
热门文章
- 前端车牌识别SDK算法及原理
- tailf追踪日志文件
- Ubuntu 部分截图
- thinkphp5.0.20 数据库迁移/填充
- Linux安装wget
- 蚂蚁算法蚁群算法-原理-思路-步骤-程序实现
- Linux ——vi / vim 新建文件vi abc.txt 、编辑文件 i、退出编辑 esc、保存文件:wq、打开文件所在目录 open . 、使用命令打开文件 open ./abc.txt。
- 自抗扰控制(ADRC)—— 一阶系统
- pythontiff怎么设置_在python中使用tiff文件
- matlab对矩阵模板卷积,矩阵卷积Matlab(转载)