2011-11-08 8 views
0

私は私のネットワークインターフェイスのいずれかからDHCPサーバのアドレスを取得するには、次のコードを使用しています:DHCPアドレス255.255.255.255

System.Net.NetworkInformation.NetworkInterface networkInterface; 

// ... get one of the network interfaces 

var properties = networkInterface.GetIPProperties(); 
var addresses = properties.DhcpServerAddresses; 

マイネットワークインターフェイスは(DHCPによって割り当てられていない)固定アドレスに設定されており、私はそのコードから1つのアドレスを取得しています、それは255.255.255.255です。誰も私になぜ教えることができますか?また、ネットワークインターフェイスがDHCPまたは固定アドレスを使用しているかどうかを確認する方法はありますか。

答えて

2

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

あなたは、DHCPをチェックするためにこれを使用することができます:あなたの応答のための

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

ありがとう、それは私が必要としたものです。私はあなたの応答をできるだけ早く答えとしてマークします。 – ppiotrowicz

2

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

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

しかし、@Polynomialが言及している性質は、より安全であると言及しているIsDhcpEnabledです。

+0

おかげで、私はいつも:) 169.x.x.xアドレスの後ろに任意の推論があるかどう疑問に思いました。 – ppiotrowicz

関連する問題