从命令行获取 DHCP 信息

从命令行获取 DHCP 信息

我在一台服务器上,其网络是静态设置的:

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 的服务器地址相同。

相关内容