1

次のコードを使用して、ネットワーク インターフェイスの 1 つから 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 という 1 つのアドレスを取得しています。誰でも理由を教えてもらえますか?また、ネットワーク インターフェイスが DHCP または固定アドレスを使用しているかどうかを確認するにはどうすればよいですか。

4

2 に答える 2

3

このアドレス255.255.255.255はブロードキャスト アドレスであり、DHCP プロトコルがアベイラビリティ パケットをブロードキャストするために使用されます。DHCP を使用していない場合、これは DHCP サーバーとして割り当てられるアドレスです。これにより、ネットワークはネットワーク上の DHCP サーバー (通常はルーター) を自動的に検出できるようになります。

これを使用して DHCP を確認できます。

bool isDhcp = networkInterface.GetIPProperties()
                              .GetIPv4Properties()
                              .IsDhcpEnabled;
于 2011-11-08T11:40:51.633 に答える
2

ホストに割り当てることができないため、「実際の」IP アドレスではありません。それは単に「どこでも放送する」ことを意味します。

DHCPサーバーアドレスとして255.255.255.255が見つかった場合、クエリしているアダプターには固定IPアドレスまたはAPIPAがあると想定するのが安全だと思います(アダプターがDHCPクライアントとして設定されているが、DHCPサーバーが応答しない場合に発生します)あらかじめ設定された期間)。

しかし、IsDhcpEnabled@Polynomial が言及しているプロパティは、信頼する方が安全です。

于 2011-11-08T11:37:55.487 に答える