DHCP address 255.255.255.255

本文关键字:address DHCP | 更新日期: 2023-09-27 18:13:42

我使用以下代码从我的一个网络接口获取DHCP服务器地址:

System.Net.NetworkInformation.NetworkInterface networkInterface;
// ... get one of the network interfaces
var properties = networkInterface.GetIPProperties();
var addresses = properties.DhcpServerAddresses;

我的网络接口被设置为固定地址(不是由DHCP分配的),我从该代码中获得一个地址,它是255.255.255.255。有人能告诉我为什么吗?如何检查网络接口是否使用DHCP或固定地址

DHCP address 255.255.255.255

地址255.255.255.255为广播地址,用于DHCP协议广播可用性报文。当你不使用DHCP时,这是分配给DHCP服务器的地址,因为它将允许网络自动发现网络上的任何DHCP服务器(通常是路由器)。

你可以用这个来检查DHCP:

bool isDhcp = networkInterface.GetIPProperties()
                              .GetIPv4Properties()
                              .IsDhcpEnabled;

这不是一个'真正的' IP地址,因为它不能分配给主机。它的意思是"无处不在的广播"。

我认为可以安全地假设,当你发现255.255.255.255作为DHCP服务器地址时,你正在查询的适配器有一个固定的IP地址,或APIPA(当适配器被设置为DHCP客户端时发生,但没有DHCP服务器响应预设的时间段)。

但是@Polynomial提到的IsDhcpEnabled属性更安全。