.Net에서 활성 IPAddress를 얻으려고합니다.이 경우 이더넷 어댑터와 연관된 주소입니다.. NET get active Ethernet IPAddress
지금 내가 사용하는 현재 시스템에 할당 된 IP 목록을 얻을 수 있습니다 알고
IPHostEntry entry = Dns.GetHostEntry(Dns.GetHostName());
그리고 내가 사용하여 내 다른 네트워크 인터페이스에 대한 정보의 좋은 거래를 얻을 수 있습니다 알고
NetworkInterface[] networks = NetworkInterface.GetAllNetworkInterfaces();
NetworkInterfaceType 열거 형을 사용하여 인터페이스가 "이더넷 인터페이스"인지 여부를 확인할 수 있지만이 NetworkInterface를 해당 IPAddress에 연결하는 방법을 찾을 수 없습니다. NetworkInterface 클래스에서 애니 캐스트 주소 나 게이트웨이 주소와 같은 것을 가져 오는 방법 만 볼 수는 있지만 이더넷 IP가 무엇인지 좁힐 수는 없습니다.
누구든지 간단하게 또는 복잡하게이 작업을 수행하는 방법을 알고 있습니까?
EDIT : 예를 들어 명령 줄의 netstat 또는 tracert는 모든 활성 네트워크 연결을 제공 할 수 있습니다. 그것은 나에게 이상한 것 같아요. 그게 비슷한 명령 줄 결과를 구문 분석하는 것이 나에게 완전히 unnessary 것 같지 않을 것이다. GetBestInterface()와 같은 것은 유용하지만 특정 IP에 대한 액세스 권한이있는 IP에서만 반환됩니다. 다시 말하지만, 다재다능하지는 않습니다.
C#을 사용하여 활성 IPAdress를 얻는 방법이 없다면 명령 줄을 사용 하겠지만 인기있는 프로그래밍 언어가 할 수있는 것처럼 보입니다. 사실, 누구나 C++ 또는 C 솔루션을 사용하면 C# 응용 프로그램에 연결하여 사용할 수 있습니다.
활성 IP 주소가 두 개 이상이면 어떨까요? 아니면 하나 이상의 이더넷 어댑터? –
활성 이더넷 어댑터가 1 개 이상있는 경우 모두 가져 오는 것이 좋습니다. – user912447
막연하게 도움이 될만한 링크 일지라도 훌륭합니다. – user912447