私は自分のコンピュータに複数のネットワークカードを持っています。 (VMWareのため)C#アクティブなNICのIPv4アドレスを取得
アクティブなカードのIPv4アドレスを見つける方法を教えてください。私が端末にpingを送信し、WireSharkのパケットを傍受すると、「送信元」のアドレスが必要になります。
私はすべてのネットワークインターフェイスをチェックし、GateWayが空かヌルかどうかを調べることを考えましたか?または、ping 127.0.0.1を呼び出して、ping要求のIPソースを取得しますか?しかし、それを実装することはできません。今の
私はStackOverflowの
public static string GetLocalIpAddress()
{
var host = Dns.GetHostEntry(Dns.GetHostName());
return host.AddressList.First(h => h.AddressFamily == AddressFamily.InterNetwork).ToString();
}
で見つかった。しかし、それは私のVMWareのカードのIPを取得し、このコードを持っています。しかし、私はそれ以外に ".First()
"を使うことはできません。
お返事ありがとうございます。このタイプの実装での問題は、UPであるすべてのinytefaceをあなたに与えることです。そして私の他のカードも上がっています。私は最終的に思い付いた解決策を投稿しました – user3673720
はい、あなたの質問のコードサンプルの最初のものを選択しました。私のソリューションはあなたにすべてのインターフェイスを示し、あなたはそれらのインターフェイスの1つを選択することができました。ところで、あなたはあなたの答えを見つけました。それは重要なことです –