使用 DHCP 获取 IP 地址、网关、掩码和广播信息
Get IP address, gateway, Mask and broadcast information using DHCP
我想编写一个程序,从具有 MAC 地址的接口发送 DHCP 请求并从 DHCP 服务器取回 IP 地址、网关、掩码和广播地址。
我用了this implementation的DHCP客户端,但它只给出了IP地址和网关地址。
我阅读了有关 DHCP 消息格式的内容,但没有找到掩码或广播字段。但是,当使用 dhcpclient 命令行时,我可以使用 ifconfig 看到接口具有掩码和广播地址,如下所示:
arm@arm-desktop:~/dhclient wlp2s0
arm@arm-desktop:~/ifconfig wlp2s0
wlp2s0 Link encap:Ethernet HWaddr 54:da:d0:15:4b:04
inet addr:153.179.154.55 Bcast:153.179.169.255 Mask:255.255.240.0
inet6 addr: fe80::2037:c031:5db1:445c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:113 errors:0 dropped:0 overruns:0 frame:0
TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:112130 (112.1 KB) TX bytes:9520 (9.5 KB)
有人能告诉我这些信息是如何获得的吗?
见this question,或许就是你想要的
我认为您正在编写自己的 DHCP 客户端,它使用原始套接字或其他方式将字节直接放在网络上。
如果您 google,您可以阅读更多关于 DHCP here 或其他地方的内容。如您所见,可以从 DHCP 服务器获取子网掩码以及广播地址。这是在与 DHCP 服务器通信时通过 DHCP 选项完成的。
然后您必须以正确的顺序将正确的字节放在线路上,并读取返回的字节才能获得您想要的信息。
使用您链接的客户端,您可以扩展代码以请求和处理来自 DHCP 服务器的更多信息,例如广播地址和子网掩码。有关如何在 DHCP 选项字段中询问信息的信息,请参阅 DHCP 文档。
我想编写一个程序,从具有 MAC 地址的接口发送 DHCP 请求并从 DHCP 服务器取回 IP 地址、网关、掩码和广播地址。
我用了this implementation的DHCP客户端,但它只给出了IP地址和网关地址。
我阅读了有关 DHCP 消息格式的内容,但没有找到掩码或广播字段。但是,当使用 dhcpclient 命令行时,我可以使用 ifconfig 看到接口具有掩码和广播地址,如下所示:
arm@arm-desktop:~/dhclient wlp2s0
arm@arm-desktop:~/ifconfig wlp2s0
wlp2s0 Link encap:Ethernet HWaddr 54:da:d0:15:4b:04
inet addr:153.179.154.55 Bcast:153.179.169.255 Mask:255.255.240.0
inet6 addr: fe80::2037:c031:5db1:445c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:113 errors:0 dropped:0 overruns:0 frame:0
TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:112130 (112.1 KB) TX bytes:9520 (9.5 KB)
有人能告诉我这些信息是如何获得的吗?
见this question,或许就是你想要的
我认为您正在编写自己的 DHCP 客户端,它使用原始套接字或其他方式将字节直接放在网络上。
如果您 google,您可以阅读更多关于 DHCP here 或其他地方的内容。如您所见,可以从 DHCP 服务器获取子网掩码以及广播地址。这是在与 DHCP 服务器通信时通过 DHCP 选项完成的。
然后您必须以正确的顺序将正确的字节放在线路上,并读取返回的字节才能获得您想要的信息。
使用您链接的客户端,您可以扩展代码以请求和处理来自 DHCP 服务器的更多信息,例如广播地址和子网掩码。有关如何在 DHCP 选项字段中询问信息的信息,请参阅 DHCP 文档。