在c#中获取连接到WLAN路由器的所有设备的MAC地址

本文关键字:地址 MAC 路由器 获取 连接 WLAN | 更新日期: 2023-09-27 18:14:52

我正在尝试获取连接到我的无线接入点(在计算机本身上运行)的所有设备的mac地址。到目前为止,我已经查看了TCPConnectionInterface类和NetworkInterface类,但没有查找用于检索此信息的任何方法。我还尝试了ManagedWiFi API,但这似乎只显示了有关无线网络的信息。

我想这样做:

foreach (ConnectedDevice device : MyWirelessAccessPoint.getDevices()) {
   Console.writeline(device.getMacAddress());
}

有什么建议吗?

在c#中获取连接到WLAN路由器的所有设备的MAC地址

如果您有设备的IP地址,您可以使用http://www.pinvoke.net/default.aspx/iphlpapi.sendarp获取MAC地址。

/Tibi

少数

我意识到告诉你如何做并不是很有帮助,但是我建议你看看如何检索你的机器的"arp缓存"

网络上的每台机器都维护自己的arp缓存,将MAC地址映射到IP地址。因为你的机器实际上是作为无线接入点,我猜你可以确定你的机器的arp缓存是最新的。

编辑:getipnetttable Windows API函数看起来很有希望:http://msdn.microsoft.com/en-us/library/aa365956(v=VS.85).aspx

EDIT2:另外,您可能需要参考这个问题:我如何通过。net访问arp协议信息?