You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wireshark自定义Lua dissector字段值可见但字段名不显示求助

Wireshark 2.4.5 Lua插件新增字段名显示异常修复方案

问题根源

Wireshark 2.4.5的Lua API要求所有自定义ProtoField必须注册到对应协议的字段集合中,否则会默认使用通用文本字段类型(_ws.lua.text)展示,导致自定义字段名失效。

修复步骤

  • 注册字段到协议
    找到你的协议定义对象(例如aprint_proto = Proto("aprint", "Aprint Protocol")),将新增字段加入协议的fields表:

    -- 直接定义字段集合
    aprint_proto.fields = {
        f_aprint_type,  -- 已有2字节字段
        f_apr_msg_type_txt  -- 新增的文本字段
    }
    

    若需在已有字段后追加,可使用:

    table.insert(aprint_proto.fields, f_apr_msg_type_txt)
    
  • 规范字段创建写法
    明确指定字段编码类型,避免API解析歧义:

    f_apr_msg_type_txt = ProtoField.string("aprint.typetxt", "aprint_type_text", base.NONE)
    

    若字符串为ASCII编码,可替换base.NONE为base.ASCII。

  • 确认子树添加逻辑
    确保添加子字段时传入的是自定义ProtoField对象,而非字符串:

    subtree:add(f_apr_msg_type_txt, msg_type_string)
    

验证结果

重新加载插件后,新增字段将显示自定义名称aprint.typetxt,字段值保持正常展示。

内容的提问来源于stack exchange,提问作者Srikanth Chilivery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:01:10