小编Seo*_*man的帖子

将 DHCP 特定的供应商选项发送到 Windows 服务器

我的目标是向 Windows 机器发送一些信息(url 和一次性令牌)。它适用于 GNU/Linux 服务器,因为我从 /var/lib/dh​​cp/dhcp.lease 或类似的地方获取信息。这是我的设置:

dhcp 服务器(GNU/Linux 服务器):

host windows {
            dynamic;
            hardware ethernet XX:XX:XX:XX:XX:XX;
            fixed-address 10.70.10.107;
            supersede vendor-encapsulated-options  "http://URL/TOKEN";
    }
Run Code Online (Sandbox Code Playgroud)

我发现在 Windows 服务器上获取此信息的唯一方法是在注册表中。正如我在此处添加的,在 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces{ID} 下,您可以找到名为DhcpInterfaceOptions 的键。

问题是关于这个密钥的信息被“损坏”了。我会试着解释一下。

使用 Wireshark,我可以从我的 DHCP 服务器看到一个格式良好的 DHCP 应答,并设置了 43 个选项。此选项包含我正在寻找的内容。当我尝试在注册表上阅读它时,它包含大量垃圾,并且缺少部分 url。

DHCP 选项 RFC 2132定义了以下协议:

Code   Len   Vendor-specific information
+-----+-----+-----+-----+---
|  43 |  n  |  i1 |  i2 | ...
+-----+-----+-----+-----+---
Run Code Online (Sandbox Code Playgroud)

我观察到 Windows 在获得选项后正在做类似的事情。我的意思是,如果Windows 所做的 URL 是“ http://URL/TOKEN ”,则将“h”设置为 ID,将“t”设置为长度,并在第二个“t”之后开始读取。我的 url 比最后一个 ASCII 可打印字符 (~) 长,我对此无能为力。 …

dhcp windows windows-registry

6
推荐指数
1
解决办法
3087
查看次数

标签 统计

dhcp ×1

windows ×1

windows-registry ×1