如何确定我的计算机正在使用哪个网络适配器?

Posted

技术标签:

【中文标题】如何确定我的计算机正在使用哪个网络适配器?【英文标题】:How do I determine which network adapter my computer is using? 【发布时间】:2017-12-22 17:52:24 【问题描述】:

我正在使用 Pcat.Net。如何确定我的计算机使用 C#、.Net、Pcat.net 的网络适配器? GetMacAddress() 扩展方法只返回网络适配器的mac地址,LivePacketDevice.AllLocalMachine 也不返回可以识别网络适配器是否被我的计算机使用的信息。

【问题讨论】:

【参考方案1】:

您可以尝试使用 NetworkInterface.GetAllNetworkInterfaces 方法。您可以从以下链接获取更多详细信息:

https://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.getallnetworkinterfaces(v=vs.110).aspx

【讨论】:

很高兴为您提供帮助:) 感谢@Aman sahni,我使用了 networkInterfaces.Where(counter=> counter.OperationalStatus == OperationalStatus.Up && (counter.NetworkInterfaceType != NetworkInterfaceType.Loopback || counter.NetworkInterfaceType != NetworkInterfaceType.Tunnel ))。第一的()。不确定是否有更好的方法来找出我的计算机正在使用的网络适配器。【参考方案2】:

我使用以下代码来确定我的计算机是否已连接到互联网。

var networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
var connectedNetworkInterfaces = networkInterfaces.Where(
counter=> counter.OperationalStatus == OperationalStatus.Up && 
(counter.NetworkInterfaceType != NetworkInterfaceType.Loopback || counter.NetworkInterfaceType != NetworkInterfaceType.Tunnel));
if(connectedNetworkInterfaces.Count() <1)

    throw new Exception("The computer does not seem to be connected to the internet.");

var connectedNetworkInterface = connectedNetworkInterfaces.First();

【讨论】:

以上是关于如何确定我的计算机正在使用哪个网络适配器?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定Windows中的活动适配器?

WinAPI:如何确定网络何时识别?

如何获取当前使用的网络适配器

网络适配器设备被停用,错误代码22,这是为啥?我该怎么办?

虚拟机无法连接到主机上的网络咋办?

WIN7网络诊断“本地连接适配器的驱动程序可能出现问题”怎么解决?