• http2 wireshark未解码消息字段过滤


    因为http2 header压缩技术,tcpdump抓包没有抓到完整的http connection establish过程,而是从中间进行抓取时,很可能抓到的包,wireshark没法解开,因为wireshark不清楚双方http connection建立时协商维护的头压缩表。这种情况下,wireshark普通的字段过滤条件将不能过滤出目标信令,我们可以采用源码过滤条件过滤这种未解码信令。

    1.确定你要过滤的消息类型

    • 通过信令流程确定你要的哪个流程的,哪条消息
      例如我想过滤跨AMF N2 handover的源AMF向目标AMF PUT uecontext的这条消息。
      在这里插入图片描述
    • 参考你正常信令流程(测试阶段保留的完整的信令流程),找出那条是你care的信令

    2.确定你要过滤消息类型的关键字段

    通过哪个字段过滤目标消息呢?
    例如要过滤AMF之间的"HANDOVER_REQUIRED"字段对应的json编码是:22:48:41:4e:44:4f:56:45:52:5f:52:45:51:55:49:52:45:44:22

    • 从已有信令里找
      1>wireshark里找
      冒号编码是22
      在这里插入图片描述
      2>wireshark未解码copy出来找
      在这里插入图片描述
    • 从3gpp规范里找
      AMF直接信令消息使用3gpp规范是29.518,下面这条消息
      在这里插入图片描述
      找put消息UeContextCreateData字段描述,找到你需要的对应字段,对于HTTP2协议消息体多采用json格式编码,我们将字段对应ASCII码表翻译出来,用作wireshark过滤的内容。

    3.用http2.data.data方式过滤

    "HANDOVER_REQUIRED"字段对应的json编码是:22:48:41:4e:44:4f:56:45:52:5f:52:45:51:55:49:52:45:44:22

    过滤条件:

    http2.data.data contains 22:48:41:4e:44:4f:56:45:52:5f:52:45:51:55:49:52:45:44:22

  • 相关阅读:
    Linux网卡状态查看
    插帧中grid_sample函数详解
    spring事件监听
    Linux搭建我的世界MC服务器 【Minecraft外网联机教程】
    9月25日复习
    Ubuntu20.4安装QT6
    时间序列建模三部曲
    2.2 数据通信的基础知识
    国际经济学名词解释
    【搭建OpenCV+Tesseract】
  • 原文地址:https://blog.csdn.net/weixin_45617372/article/details/125478357