我期待获得.net中的活动IP地址,在这种情况下是与以太网适配器关联的地址。.NET获得活动以太网IP地址
现在我知道我可以用得到当前分配给本机的IP地址列表:
IPHostEntry entry = Dns.GetHostEntry(Dns.GetHostName());
而且我知道我可以用得到的大量信息对我的不同的网络接口:
NetworkInterface[] networks = NetworkInterface.GetAllNetworkInterfaces();
我可以使用NetworkInterfaceType枚举来确定哪些接口是我的以太网接口,以及接口是否为“Up”,但我似乎无法找到将此NetworkInterface与相应的IPAddress绑定的方式。从NetworkInterface类中,我只能看到如何获取Anycast地址或网关地址等内容,但没有什么能够帮助我缩小哪些是以太网IP。
有没有人知道一种方法来做到这一点,无论是简单还是复杂?
编辑: 例如命令行上的netstat或tracert可以提供所有活动的网络连接。对我来说这似乎很奇怪,.net不会有类似的东西,我认为解析命令行结果似乎完全不合理。 像GetBestInterface()这样的东西似乎很有用,但它只会返回到可以访问给定其他IP的IP。再次,不是很多才多艺。
如果没有其他方式可以使用C#来获得活动的IP地址,那么就这样吧,我将使用命令行,但它看起来好像是一种流行的编程语言应该能够做到的。事实上,如果任何人有一个C++或C的解决方案,我可以连接到我的C#应用程序,也可以。
如果有多个活动的IP地址会怎么样?或者多个以太网适配器? –
如果有1个以上的有源以太网适配器,那么我可以很好的完成所有这些。 – user912447
即使只是一个可能含糊不清的东西的链接也会很棒。 – user912447