3

私はこれをかなり検索しましたが、まだ運がありません。問題は、サーバーから nslookup すると、ホストに IPv6 アドレスがあれば、それがリストに表示されることです。ただし、.Net System.Net の Dns.GetHostAddresses(Domain) を使用すると、IPv4 アドレスのみが返されます。

たくさん読んだ結果、次のことがわかりました。ローカル コンピューターに IPv6 がインストールされていない場合、IPv6 アドレスは GetHostAddresses メソッドの結果からフィルター処理されます。

IPv4 のみのネットワークにいます。ping を実行したり、実際のネットワーク接続を確立したりする必要はありません。ホストに IPv6 アドレスがある場合にのみ、ホストの IPv6 アドレスを返す必要があります。前述のように、同じサーバーから nslookup で動作します。

IPv4 のみのネットワークにいる場合でも、.Net を使用して IPv6 アドレスを取得する方法を教えてください。

ありがとう

4

2 に答える 2

0

GetHostAddresses("localhost") を呼び出すと、IPV4 と IPV6 の両方のアドレスが取得されます。そのため、ネットワークでは、ドメインに含まれるものが何であれ、IPv6 アドレスが割り当てられていません。

試す:

var addresses = Dns.GetHostAddresses(Dns.GetHostName());

どのような結果が得られますか?

于 2012-07-22T21:09:52.490 に答える