我需要获取路由器的MAC地址,以便在我的程序中使用它作为标识符。
我需要获取路由器MAC地址而不是我的网卡MAC地址......
我看到像这样的种子Get BSSID (MAC address) of wireless access point from C# ...如果有可能获得无线设备的MAC地址,是不是可以获得连接的以太网设备的MAC地址?
答案 0 :(得分:1)
您可以寻求这个答案:Get the Default Gateway
public static IPAddress GetDefaultGateway()
{
var card = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault();
if(card == null) return null;
var address = card.GetIPProperties().GatewayAddresses.FirstOrDefault();
return address.Address;
}
编辑(这是你找到的):
var macAddr =
(
from nic in NetworkInterface.GetAllNetworkInterfaces()
where nic.OperationalStatus == OperationalStatus.Up
select nic.GetPhysicalAddress().ToString()
).FirstOrDefault();
答案 1 :(得分:1)
从更多的研究来看,没有托管API可以让你这样做。您需要使用How do I access ARP-protocol information through .NET?和http://www.pinvoke.net/default.aspx/iphlpapi.sendarp中描述的Windows API方法,或者您需要启动一个shell来运行arp -a
并捕获结果。