【问题标题】:List for Wireshark (tshark) Payload ProtocolsWireshark (tshark) 有效负载协议列表
【发布时间】:2016-04-27 22:22:48
【问题描述】:

我正在尝试使用 tshark 和用户 DLT 使用here 描述的接口对一些非标准协议进行一些解码。

我在 Wireshark UI 中找到了有效负载协议列表(分析 => 启用的协议 (Shift+Control + E)),但找不到 user_dlts 命令所需的匹配单字名称;有些人只会将- 替换为_,但其他人会完全添加/删除单词。

有没有办法从 UI 中获取要使用的实际名称,或者(最好)列出所有可能的有效负载协议?

【问题讨论】:

    标签: wireshark tshark wireshark-dissector


    【解决方案1】:

    您还可以使用tshark -G protocols 列出所有协议。有关-G 选项的更多信息,请参阅tshark man page

    如果您只对 link layer types 感兴趣,您可以通过运行 editcap -T 来发现 Wireshark 支持的那些,尽管您可能必须交叉引用 tshark -G protocols 的输出才能找到正确的名称在用户 DLT 协议表中使用。

    【讨论】:

    • 手册页说-G 选项仅列出您可以指定的协议的缩写。我不完全确定那句话是什么意思,但我知道运行该命令并不能准确地给出我需要的列表。在我的特殊情况下,我需要解码 LTE RRC 消息,特别是“lte-rrc.bcch.dl.sch”协议消息。 tshark -G protocols 打印出来的唯一与此接近的是lte_rrc,它显然没有完全指定我需要解码的协议。知道在哪里可以找到可用协议的“完整”列表吗?
    【解决方案2】:

    在 Wireshark

    Internals => Supported Protocols => Protocols Tab
    

    有一个可纠正格式的所有协议列表

    For Wireshark 2.*
    View => Internals => Supported Protocols => Protocols Tab
    

    【讨论】:

    • 这实际上只是一个过滤器列表,它是一个更接近的开始,但不是很好。
    • 我不明白你最后的评论。最右边的列是协议过滤器名称,您需要将其用作Payload 协议的名称
    【解决方案3】:

    如果要深入挖掘,请下载源代码:

     git clone https://code.wireshark.org/review/wireshark
    

    并检查 wireshark/epan/dissectors/ 中的 c 文件,特别是 register_dissector 命令

    fgrep -RIis "register_dissector(" wireshark/epan/dissectors/
    

    这比:

     array=("column-formats" "defaultprefs" "fields" "plugins" "currentprefs" "dissector-tables" "ftypes" "protocols" "decodes" "fieldcount" "heuristic-decodes" "values")
     for i in "${array[@]}"; do tshark -G $i | fgrep -i 'RRC.BCCH.FACH'; done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 2018-01-10
      相关资源
      最近更新 更多