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

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

问题描述:

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

您可以尝试使用NetworkInterface.GetAllNetworkInterfaces方法。您可以从下面的链接了解详情:

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

+0

竭诚为您服务:) –

+0

感谢@Aman尼,我用networkInterfaces.Where(计数器=> counter.OperationalStatus == OperationalStatus.Up &&(counter.NetworkInterfaceType!= NetworkInterfaceType.Loopback || counter.NetworkInterfaceType != NetworkInterfaceType.Tunnel))。First()。不知道是否有更好的方法来找出我的电脑正在使用的网络适配器。 –

我用下面的代码,以确定是否我的电脑连接到互联网。

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();