0
我正在開發一個項目,該項目將允許我的家庭自動化通過使用其MAC地址作爲標識符來識別誰在家中。使用節點js獲取客戶端的MAC地址
我試圖獲得使用和的NodeJS故宮模塊我自己的網絡上的客戶端的MAC地址「arped」
var arped = require('arped');
console.log(arped.table());
它讀取ARP表中雖然只輸出IP地址的福/ Mac電腦。有什麼我錯過了ARP或什麼?
輸出顯示我的路由器,我的chromecast,我的windows筆記本電腦和我的iPhone 4.它不顯示另一個Windows筆記本電腦和iPhone SE。
'arp -h'不起作用,但是'arp -a'確實有效,它顯示了我通過其他方式獲得的相同IP。 我在Ubuntu上的方式。 奇怪的是,它們都在同一個子網上。 – Paul
你是對的,我錯誤的選項。您可能會在鏈接層上獲得一些分離。也許其中一些使用WiFi,其中一些通過電纜連接? –
另請注意,arp表只包含您與之通信的設備的地址。嘗試ping到你看不到的設備,然後檢查arp表。它只是物理地址的緩存,所以你的電腦不需要一次又一次地請求它。它會像:你嘗試與遠程機器通信,你使用IP地址,然後你的網絡層將它發送到鏈路層,這需要將IP地址轉換成MAC地址。它通過在網絡上發送廣播消息並使用它得到的響應來完成。爲了減少廣播數量,計算機緩存了這樣的響應。在ARP表中。 –