我在一台服务器上,其网络是静态设置的:
auto eth0
iface eth0 inet static
address 10.1.212.103
netmask 255.255.255.0
gateway 10.1.212.1
我如何从命令行假装我是 DHCP 客户端,并向 DHCP 服务器询问网络信息?
我实际上不想更改网络设置,但我想查看服务器会发回哪些 DHCP 信息。
具体来说,我静态设置了名称服务器,/etc/resolv.conf
但它们不起作用。如果我动态设置接口,我想查看 DHCP 服务器会向我发送哪些名称服务器
我尝试过dhcping
,但这并没有真正起作用。我不知道网络上 DHCP 服务器的 IUP 地址。没有任何参数:
# dhcping
dhcping -c ciaddr -g giaddr -h chaddr -r -s server -t maxwait -i -v -q
我只知道网关,但指定网关不起作用:
dhcping -g 10.1.212.1
no answer
答案1
对我来说,dhcping
有效:
$ sudo dhcping -v -s 192.168.177.1
Got answer from: 192.168.177.1
您可以使用它-V
来查看交换的数据包。但是,由于这不是真正的请求,我收到了 NACK,并且没有名称服务器信息。
如果没有我的服务器地址,它就无法工作,显然它不进行广播?
至于-g
,请参阅man dhcping
:
-g gateway-IP-address
Use this IP address for the gateway IP address in the DHCP packet. This option is currently broken.
您也可以使用dhclient
,但这会更改您的网络配置,因此您必须手动恢复。但这是我所知道的获取实际信息的最佳方式。
其中dhcpdump
将显示网络接口上的 DHCP 数据包。这将包括名称服务器信息,但需要一些东西来触发交换。
网关地址通常与运行 DHCP 的服务器地址相同。