我需要从 Windows 2008 服务器(或任何其他 Windows 版本,只要在参数请求列表(代码 55)中指定了代码 43)上的 DHCP 服务器(Linux ISC DHCP 服务器)检索 DHCP 选项 43。
我可以在 Windows 上使用 Wireshark 在 DHCP Offer 数据包中看到所需的值
Option: (t=43; l=30) Vendor-Specific Information
Option: (43) Vendor-Specific Information
Length: 30
Value: xxxxxxxxxxxxxxxxxxxxxxxxx (some hex number)
转换为字符串的十六进制值给了我想要的信息。
但我不知道将它存储在磁盘上的哪里/如何存储?
我以为我可以在做的时候看到它
ipconfig /all
有谁知道这是怎么做到的吗 ?
答案1
您在 DHCP 服务器上,对吗?
尝试netsh dhcp server show optionvalue
。
答案2
您正在寻找的信息存储在以下寄存器中:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\{ID}
{ID} 取决于您的机器。我找到它的方法是打开 regedit 并查找条目“DhcpInterfaceOptions”。
这个 ruby 上的小代码将为您选择注册表”
require 'win32/registry'
keyname= "SYSTEM\\ControlSet001\\services\\Tcpip\\Parameters\\Interfaces\\{A0ACCA78-1CB2-46BD-B2E0-B0E791ABFC3B}"
access = Win32::Registry::KEY_ALL_ACCESS
Win32::Registry::HKEY_LOCAL_MACHINE.open(keyname) do |reg|;
key = reg.read_bin('DhcpInterfaceOptions').unpack('H*')
puts key
end