• 使用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 -d eth0 指定网卡抓包,仅抓通过网卡eth0的信息;
    • sngrep -I in.pcap sngrep打开用tcpdump打开的抓包

    前台使用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成功响应 表示请求已经被成功接收、处理并被成功接受
    200OK
    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服务器超时
    505SIP版本不支持
    513消息太长
    6xx全局故障 表示请求不能在任何SIP服务器上实现
    600全忙
    603拒绝
    604都不存在
    606不接受
  • 相关阅读:
    leetcode 15. 三数之和
    痞子衡嵌入式:揭秘i.MXRTxxx系列上串行NOR Flash双程序可交替启动设计
    OpenResty中如何实现,按QPS、时间范围、来源IP进行限流
    ABC350 FG 题解
    【AI算法岗面试八股面经【超全整理】——机器学习】
    lazarus:数据集快速导出为excel、csv、sql及其他多种格式
    appium+python自动化测试
    2022年跨境电商卖家减少废弃购物车的7大技巧
    选择适宜的工业设计公司,是协作的第一步
    期货权益可用资金(期货的权益和可用资金)
  • 原文地址:https://blog.csdn.net/jjt_zaj/article/details/126527424