Linux

如何在 Linux 上很好地進行鄰居發現請求?

  • October 5, 2020

我正在尋找一種方法來檢索 LAN 網路上特定主機的 MAC 地址。我知道它的 IPv6 地址。理想情況下,我想要一種方法來觸發 Linux 核心為我執行鄰居請求,然後我可以通過命令檢索主機 MAC 地址ip -6 neighbour

現在,我發現觸發鄰居請求的唯一方法是嘗試在隨機埠上建立與主機的 TCP 連接。但我不覺得這個解決方案真的很漂亮:

curl --connect-timeout 1 "http://[fe80::1234%eth0]:12345"

由於您要求將其反映在核心的鄰居中,並且您不願意安裝軟體,請嘗試 ICMP echo:

ping -c 1 fe80::1234%eth0

你嘗試什麼協議並不重要,只要它是基於 IP 的。

如果您願意安裝軟體,nmap 具有發現功能。這是一個僅 NDP 的掃描,輸出到包含鏈路層地址的 XML 文件(和標準輸出):

nmap -sn -PR -oX /tmp/lladdr.xml -6 fe80::1234%eth0

顯然,這種類型的 nmap 掃描使核心發癢以進行鄰居發現,因為在測試中我看到它重新出現在ip neigh.

引用自:https://serverfault.com/questions/1036362