如何解决VB.NET:抓取IP地址并将其绑定到接口
|| 我想找到一种方法来获取分配给不同接口的IPv4和IPv6地址,并能够确定它们所绑定的接口。 目前,我正在循环\'System.Net.networkinformation.NetworkInterface.GetAllNetworkInterfaces \'并能够获取特定于接口的信息: For Each nic As System.Net.networkinformation.NetworkInterface In System.Net.networkinformation.NetworkInterface.GetAllNetworkInterfaces()
myarr(count2,0) = (String.Format(\"{0}\",nic.Description))
myarr(count2,1) = (String.Format(\"{0}\",nic.GetPhysicalAddress))
myarr(count2,2) = (String.Format(\"{0}\",nic.OperationalStatus))
myarr(count2,3) = (String.Format(\"{0}\",nic.Speed))
count2 += 1
Next
通过这种方法,我无法确定一种简单的方法来不幸地获取分配的IP地址。
我可以使用google-foo轻松找到的最常见方法是,通过以下操作找到您的IP:
Dim ipAdd As IPAddress = Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.First(Function(f) f.AddressFamily = Sockets.AddressFamily.InterNetwork)
很好,但我无法确定正在使用哪个接口,也无法确定未通过DNS或多个NICS的已分配IP地址。
我可能可以使用一些贫民窟的方法来发布命令行命令,并从ipconfig中解析所有信息,或者获取GUID并通过注册表运行,但是我觉得应该有一个更简单,更有效的方法。
我想要的一个很好的例子是能够生成类似IPCONfig的列表的功能,其中包含接口信息及其指定的IP地址,等等。
解决方法
在你的循环尝试
Dim ip = nic.GetIPProperties().UnicastAddresses(0).Address;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。