首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取用于访问互联网的网卡的IP地址

如何获取用于访问互联网的网卡的IP地址
EN

Stack Overflow用户
提问于 2012-12-05 22:50:48
回答 1查看 12.9K关注 0票数 6

我想知道是否有一种可靠的方法可以在我的机器中找到用于访问互联网的网络适配器的IPv4地址(因为这是我想将我的服务器绑定到的那个)。我过去常常像这样获取本地ip地址列表:

代码语言:javascript
复制
IPAddress ip = System.Net.Dns.GetHostByName(Environment.MachineName).AddressList[0];

它工作得很好,但今天它失败了,因为我正在寻找的IP地址不是这个地址列表中的第一个,而是第三个(因为我有两个虚拟机在运行,这两个虚拟机都创建了一个虚拟适配器)。

任何建议都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-05 22:56:31

代码语言:javascript
复制
IPAddress ip = System.Net.Dns.GetHostEntry(Environment.MachineName).AddressList.Where(i => i.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).FirstOrDefault();

作为另一种方法,您可以使用:

代码语言:javascript
复制
using System.Net.NetworkInformation;

//...

var local = NetworkInterface.GetAllNetworkInterfaces().Where(i => i.Name == "Local Area Connection").FirstOrDefault();
var stringAddress = local.GetIPProperties().UnicastAddresses[0].Address.ToString();
var ipAddress = IPAddress.Parse(stringAddress);

其中,您只需在Control Panel\Network and Internet\Network Connections中将"Local Area Connection"替换为适配器的名称

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13725844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档