簡體   English   中英

在C#中獲取連接到WLAN路由器的所有設備的MAC地址

[英]Get MAC address of all devices connected to WLAN router in C#

我正在嘗試獲取連接到我的無線訪問點(在計算機本身上運行)的所有設備的mac地址。 到目前為止,我已經看過TCPConnectionInterface類和NetworkInterface類,但是找不到用於檢索此信息的任何方法。 我也嘗試了ManagedWiFi API,但這似乎只顯示有關可觸及的無線網絡的信息。

我想做這樣的事情:

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

關於如何實現的任何建議?

如果您擁有設備的IP地址,則可以使用http://www.pinvoke.net/default.aspx/iphlpapi.sendarp來獲取MAC地址。

/提比

我知道這對告訴您如何做並沒有很大幫助,但是我建議您研究一下如何檢索計算機的“ arp緩存”。

網絡上的每台計算機都維護自己的arp緩存,該緩存將MAC地址映射到IP地址。 由於您的計算機實際上是作為無線訪問點,因此我猜測您可以確定計算機的arp緩存是最新的。

編輯:GetIpNetTable Windows API函數看起來很有希望: http : //msdn.microsoft.com/zh-cn/library/aa365956 (v=VS.85) .aspx

EDIT2:另外,您可能想參考以下問題: 如何通過.NET訪問ARP協議信息?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM