我想调试一个提供奇怪 DHCP 设置的路由器,但我不知道如何在不让系统采用所有配置的情况下检查它。有没有一个实用程序可以在客户端连接时返回所有 DHCP 设置(如 NTP、WINS、DNS、IP、路由器)?
最好是独立于平台的,并且不需要更改客户端的配置来触发 DHCP。
答案1
好的,这就是我不看手册时发生的情况。man dhclient
-d
:强制 dhclient 作为前台进程运行。通常,DHCP 客户端将在前台运行,直到配置了接口,此时它将恢复为在后台运行。在调试器下运行客户端时或在 System V 系统的 inittab 之外运行客户端时,此选项很有用。这意味着 -v。
-v
:启用详细日志消息。
-n
:不配置任何接口。这很可能与 -w 标志结合使用。
运行后dhclient -d -v -n
,我发现哪些配置有问题,以及原因。网络中正在运行另一个 DHCP。
如果你真的想得到一些信息,但有些系统需要弄乱 DHCP 配置才能工作,那么可以使用 WireShark:
答案2
我通常使用dhcdrop -t -i <interface> <your MAC address>
例子:
# dhcdrop -t -i wlan0 60:67:20:de:14:d8
DHCP SRV: 192.168.99.1 (IP-hdr: 192.168.99.1) SRV ether: 00:23:CD:1D:71:EE, YIP: 192.168.99.127
这意味着 DHCP 服务器希望您使用192.168.99.127
。
请注意,默认情况下(没有-t
),它会尝试从 DHCP 服务器耗尽所有 IP 地址以对其进行 DoS 攻击。
不幸的是,我无法做类似的事情dhclient
。-n
它只是等待远程命令,而不是尝试发送任何请求。