【问题标题】:DHCP Option 77 - malformed optionDHCP 选项 77 - 格式错误的选项
【发布时间】:2015-02-14 11:34:39
【问题描述】:

我正在开发一个基于开源 DHCP 客户端的工业应用程序。

我正在设置自定义 DHCP 客户端类 ID(DHCP 选项 77)

ipconfig /setclassid "本地连接" "SOME_CUSTOM_CLASS_ID"

在 Wireshark 中,我正在捕获 DHCP 握手。自定义类 ID 存在于 DHCP 请求中,但 wireshark 的选项 77 信息突出显示错误“格式错误的选项”。

参考 RFC 3004 标准,我发现用户类数据的每个实例都应该有一个长度为 1 个八位字节的前缀,可以解决问题并消除 DHCP 所有的wireshark 错误。

问题是某些版本的wireshark检测到这个错误,比如1.10.6版,其他版本不能检测到,比如1.6.5版。

对此有什么想法吗?它是 Wireshark 中的错误吗?

【问题讨论】:

    标签: linux tcp wireshark dhcp


    【解决方案1】:

    第一:

    对 DHCP 选项 77 的剖析首先包含在 Wireshark 1.10 中,因此 Wireshark 1.6 和 Wireshark 1.8 不知道该选项,因此不会显示任何关于该选项的具体错误。

    第二:

    我有点不清楚你的问题:

    您是否在问为什么 Wireshark 1.6 不显示错误,而该错误在 Wireshark-1.10 ?

    如果是这样,请参阅上面的“第一个”。

    如果不是,请澄清。

    【讨论】:

    • 是的,我想知道为什么 Wireshark 1.6 没有显示在 Wireshark-1.10 中正确显示的错误?我认为我在“第一”中得到了答案;)非常感谢
    • 参考 RFC 3004 标准,我发现用户类数据的每个实例都应该有一个长度为 1 个八位字节的前缀,可以解决问题并消除 DHCP 所有的wireshark 错误。 => 你能确认一下这个信息吗?
    • 我只能说这就是 Wireshark 1.10 代码剖析选项 77 的编写方式;对于每个实例:1 字节长度后跟长度字节的数据。
    【解决方案2】:

    Microsoft 引入了2.2.6.1 User Class Option Sent by DHCPv4 Client to DHCPv4 Server 中描述的不兼容格式。现在的格式是:

    • 选项代码 (77)
    • 选项长度
    • User_Class_Data(可变长度)

    Wireshark 仅支持 Wireshark 2.0 中的 RFC 3004 格式(我猜还有即将到来的 2.2)。有关各种实现的更多详细信息,请参阅this ask.wireshark.org

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-20
      相关资源
      最近更新 更多