我想了解此命令在什么情况下有效。正如我所见,使用此命令发现数据包的单播目标 IP 与提供的服务器 IP 相同,而目标 MAC 是广播的。这是一个有效的数据包吗,因为我无法使用此标志获取 IP。
答案1
我认为接收带有 -s 标志的答案取决于监听的 dhcp 服务器(或其配置)。
简短的回答,它适用于DHCP服务器服务器,但失败了域名系统一。
较长的答案是,如果监听服务器是 dhcpd,则使用“dhclient -v -s 172.16.0.1 eth1”将获取 IP:
[root@c602 ~]# dhclient -v -s 172.16.0.1 eth1
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth1/08:00:27:31:f2:d6
Sending on LPF/eth1/08:00:27:31:f2:d6
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 172.16.0.1 port 67 interval 7 (xid=0x6161a797)
DHCPOFFER from 172.16.0.1
DHCPREQUEST on eth1 to 172.16.0.1 port 67 (xid=0x6161a797)
DHCPACK from 172.16.0.1 (xid=0x6161a797)
bound to 172.16.0.230 -- renewal in 19087 seconds.
[root@c602 ~]# ip -4 a show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 172.16.0.230/24 brd 172.16.0.255 scope global eth1
在这两种情况下,当 dhcpd 或 dnsmasq 是代理 dhcp 服务器时,DHCPDISCOVER 正在到达服务器,但 dnsmasq 尚未应答;在服务器计算机上使用 tcpdump 可以看到此情况。(tcpdump -nnnvvvi eth1 端口 67 和端口 68)