#這是我透過命令
cmd = { "/bin/sh", "-c", "ping " + ip + " -c 2 && arp -a" };
取得的mac位址,但mac位址不是我想要的客戶端位址,而是我這邊群集伺服器上的位址,請問有什麼好辦法透過ip去取得客戶端mac位址嗎?
其實, 如果你想取得客戶端的mac位址是沒辦法的, 因為資料封包在經過路由器時, 封包中的mac位址會被路由器所改寫的, 因為要記錄連結層中發送方的mac位址, 大致的過程如下圖:
也可以參考這篇文章: 網路-封包在路由轉送過程中MAC位址與IP位址,變與不變
其實, 如果你想取得客戶端的mac位址是沒辦法的, 因為資料封包在經過路由器時, 封包中的mac位址會被路由器所改寫的, 因為要記錄連結層中發送方的mac位址, 大致的過程如下圖:
也可以參考這篇文章:
網路-封包在路由轉送過程中MAC位址與IP位址,變與不變