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信令相关推荐

  1. MRCP UA的创建及SIP信令处理

    在mrcp_sofia_task_initialize中调用nua_create一个UA(User agent)这个跟freeswitch SIP信令的接收,是一样的.在nua_create的时候会设 ...

  2. MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral)

    MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral) Tracking by Instance Detection: A Meta-Learning Approach 论文链接:h ...

  3. oracle11g ora 29927,【案例】Oracle内存泄漏 进行10046跟踪分析07445导致数据库宕机

    天萃荷净 在一次ORA-7445导致oracle数据库down掉故障分析中,发现sql因某种原因导致大量的sql area中很多内存泄露,最终导致数据库down掉.通过实验找出类此奇怪SQL. SEL ...

  4. 跟踪分析Linux内核5.0系统调用处理过程

    跟踪分析Linux内核5.0系统调用处理过程 学号384 原创作业转载请注明出处+中国科学技术大学孟宁老师的Linux操作系统分析 https://github.com/mengning/linuxk ...

  5. 理解进程调度时机跟踪分析进程调度与进程切换的过程

    虞啸川 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux既支持 ...

  6. wireshark分析SIP协议——注册

    SIP 是VOIP目前非常流行的一种协议.有关协议的详细原理参照相关文档.     本文通过wireshark抓包分析SIP user agent(用户代理客户机,uac)与SIPserve之间的交互 ...

  7. 20135202闫佳歆--week 8 实验:理解进程调度时机跟踪分析进程调度与进程切换的过程--实验及总结...

    week 8 实验:理解进程调度时机跟踪分析进程调度与进程切换的过程 1.环境搭建: rm menu -rf git clone https://github.com/megnning/menu.gi ...

  8. 实验八---理解进程调度时机跟踪分析进程调度与进程切换的过程

    实验目的: 使用gdb跟踪分析一个schedule()函数,理解Linux系统中进程调度的时机. 实验过程: 登陆实验楼虚拟机http://www.shiyanlou.com/courses/195 ...

  9. 举例跟踪分析Linux内核5.0系统调用处理过程

    学号最后三位编号:094 原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 0.实验内容 编译内核5.0 qemu -kernel linu ...

  10. 智能监控系统、人脸识别、智能抓拍、预警系统、机动车辆抓拍、行人抓拍、监控预警管理后台、人流监控、人脸信息采集、语音报警、轨迹分析、抓拍检索、园区监控、实时监控、录像回放、防盗预警、智能算法、跟踪分析

    智能监控系统.人脸识别.智能抓拍.预警系统.机动车辆抓拍.行人抓拍.监控预警管理后台.人流监控.人脸信息采集.语音报警.轨迹分析.抓拍检索.园区监控.实时监控.录像回放.防盗预警.智能算法.跟踪分析. ...

最新文章

  1. ASP.NET中实现大结果集分页研讨 转
  2. 推荐系统笔记:基于非负矩阵分解的协同过滤
  3. 【资源】C++学习资料 - 逆天整理 - 精华无密版【最新】
  4. php数组array_push()和array_pop()以及array_shift()函数
  5. 机器学习-集成学习:随机森林(Random Forest)
  6. Spring MVC常用注解,你会几个?
  7. 基础排序算法···1
  8. 漫画:为什么下载电影进度总是卡在 99% 就不动了?
  9. jquery 获取父窗口的元素、父窗口、子窗口
  10. oracle的关闭过程(各个模式关闭)
  11. c语言题库及答案(选择题,C语言题库及答案(选择题).doc
  12. Layabox 2 使用其它编辑器开发layabox2d
  13. librosa.stft librosa.core.stft
  14. Redux-Router
  15. python求平均值函数_python 求均值、中位数、众数的方法
  16. 爽一把手写Bundle Adjustment
  17. Illegal group reference:非法组引用异常
  18. 看不起java_程序员铁律,用Tab的瞧不起用Space键的,用C语言的瞧不起用Java的!...
  19. 服务器和交换机物理连接_Brocade博科交换机 SAN存储区域网络
  20. 读书笔记(python)--图及其算法

热门文章

  1. 前端车牌识别SDK算法及原理
  2. tailf追踪日志文件
  3. Ubuntu 部分截图
  4. thinkphp5.0.20 数据库迁移/填充
  5. Linux安装wget
  6. 蚂蚁算法蚁群算法-原理-思路-步骤-程序实现
  7. Linux ——vi / vim 新建文件vi abc.txt 、编辑文件 i、退出编辑 esc、保存文件:wq、打开文件所在目录 open . 、使用命令打开文件 open ./abc.txt。
  8. 自抗扰控制(ADRC)—— 一阶系统
  9. pythontiff怎么设置_在python中使用tiff文件
  10. matlab对矩阵模板卷积,矩阵卷积Matlab(转载)