如何在 Linux 上找到本地網路(LAN)中的所有 MAC 位址及其對應的 IP
找出連接到區域網路的實際裝置可能有點令人頭疼,尤其是當你對潛伏的未知裝置感到恐懼時。有時,標準工具並不能顯示所有內容,或者你可能只是想快速概覽。本指南將幫助你取得本地網路上所有裝置的準確清單——顯示它們的 MAC 位址和 IP 位址——以便你隨時掌握情況或排除故障。我們主要使用它,arp-scan
因為它在抓取網路資料方面非常可靠,而且還有一個備用方案ip neigh
。最終,你將能夠很好地掌握哪些設備已連接,而無需任何複雜的網路監控設定。
先決條件
在深入研究之前,請確保您已經具備:
- 一台 Ubuntu 機器(命令可能需要針對其他發行版進行調整,但大多數是類似的)。
- 使用sudo權限進行終端存取—除非您想以 root 身分執行所有操作,但不建議這樣做。
- 網路連線以取得您需要的工具。
如何在網路上找到所有內容:實用方法
安裝 arp-scan — 網路發現的主要武器
這個工具是掃描本地子網路的必備工具。如果尚未安裝,則需要先安裝。它的作用如下:arp-scan會主動探測您的網絡,向每個設備詢問“嘿,誰在那裡?”,然後報告結果。它可靠、快速,通常甚至可以捕獲那些未列入 DHCP 租約的可疑設備。當它正常運作時,可以取得幾乎所有已連接裝置的 MAC/IP 組合清單。
- 打開終端機。
- 輸入或複製貼上:
sudo apt update && sudo apt install arp-scan
注意:有時,在 Windows 或 Mac 上,您會使用不同的工具,但在這裡,它們都是 Linux 原生的魔法。
使用 arp-scan 掃描你的網路 — 看看那裡到底有什麼
在主網路介面上執行arp-scan通常可以顯示所有設備。但首先,你需要確定你的網路介面是什麼。運行:
ip addr
這將列出所有網路介面及其 IP。尋找類似eth0或wlan0 的IP 位址。識別後,執行掃描:
sudo arp-scan --interface=wlan0 --localnet
如果您未指定–interface,則預設使用主接口,但明確設定有時會有所幫助。此命令會在整個子網路中發送 ARP 請求並收集回應。輸出應該顯示每個裝置的 MAC 和 IP,就像一份關於您網路「好友」的小檔案。
在某些設定下,掃描可能無法在第一次顯示所有內容—可能是由於網路隔離或裝置防火牆的原因。如有需要,請重新運行。此外,請確保您的網路不在阻止 ARP 流量的託管 VLAN 或訪客網路上。
使用 ip neigh — 快速查看 ARP 緩存
如果你想要一個輕量級的即時檢視工具,又不想費力掃描,ip neigh是個不錯的選擇。它只會檢查你的本地 ARP 表,有點像作業系統保存的電話簿。缺點是,它只顯示目前已知的設備,所以如果某個設備剛剛連接或斷開連接,它不會即時更新。不過,對於快速檢查來說,它還是很可靠的。
- 類型:
ip neigh
這將輸出與 Mac 位址配對的 IP 位址列表,例如:
192.168.1.10 dev wlan0 lladdr 00:11:22:33:44:55 可達 10.0.0.5 dev eth0 lladdr aa:bb:cc:dd:ee:ff 已過時
它並不詳盡,但對於快速驗證很方便,特別是如果您最近連接了某些東西。
額外的提示以及哪些因素可能會影響這些
- 確保您的網路卡或 Wi-Fi 完全處於活動狀態 – 沒有靜音模式或停用的介面。
- 當沒有人進行串流媒體或大量下載時運行這些掃描,因為網路擁塞可能會導致奇怪的延遲或錯過回應。
- 如果arp-scan或ip neigh提供的資訊不完整,請嘗試停用 VPN 或虛擬適配器—它們可能會影響網路可見性。
- 有時,權限會困擾您:請始終在這些命令前面加上sudo,否則您可能只會看到空白輸出。
包起來
要掌握區域網路內有哪些設備並非難事,但需要使用合適的工具進行一些調整。 arp -scan通常是發現已連接設備最可靠的工具,而ip neigh則適合快速查看系統已知資訊。需要注意的是,網路配置或設備防火牆可能會隱藏或阻止某些訊息,因此有時列表並不完整。嘗試這兩種方法通常可以涵蓋大多數情況。
常見問題
arp-scan 和 ip neigh 的主要差異是什麼?
arp-scan實際上是透過直接詢問所有網路設備來探測網絡,因此它可以發現一些可能尚未出現在 ARP 快取中的內容。 ip neigh只是查看已經發現的內容——有點像查看作業系統的最近通話清單。如果您需要最新信息,arp-scan 更勝一籌;就速度而言,ip neigh速度更快,但信息不夠全面。
我可以在其他 Linux 發行版上執行這些指令嗎?
在大多數 Linux 系統(例如 Fedora、Arch 或 Manjaro)上,arp-scan和ip都可以透過其軟體套件管理器使用。只需arp-scan
使用發行版的軟體包工具進行安裝,一切即可正常運作。
如果我看不到所有已知已連接的設備怎麼辦?
檢查網路介面設置,或確保您的設備不在單獨的子網路或 VLAN 上。防火牆和網路隔離也可能阻止 ARP 流量,所以有時問題不在於您的工具,而在於網路策略。
概括
- 如果還沒有,請使用sudo apt install arp-scan 。
- 使用 識別您的介面
ip addr
。 - 運行
sudo arp-scan --localnet
以發現設備。 - 檢查您的 ARP 快取以
ip neigh
獲取快速資訊。 - 確保您的網路沒有阻止 ARP 請求或回應。
最後的想法
搞清楚這些事情並不總是那麼簡單——網路可能詭異,設備可能隱藏,有時你只是在追鬼。不過,這些方法涵蓋了大多數情況。在一台機器上可能輕而易舉,在另一台機器上…就沒那麼容易了。但至少你會掌握一些技巧來完成這項工作。祈禱這些方法能幫助人們節省時間,或抓住那些不該出現的惡意裝置。