如何在Linux中找出所有在線主機的IP地址
你可以在 Linux 的生態系統中找到很多網絡監控工具,它們可以為你生成出網絡中所有設備的摘要,包括它們的 IP 地址等信息。
然而,實際上有時候你只需要一個簡單的命令行工具,運行一個簡單的命令就能提供同樣的信息。
本篇教程會向你展示如何找出所有連接到給定網絡的主機的 IP 地址。這里我們會使用 Nmap 工具來找出所有連接到相同網絡的設備的IP地址。
Nmap (Network Mapper 的簡稱)是一款開源、強大并且多功能的探查網絡的命令行工具,用來執行安全掃描、網絡審計、查找遠程主機的開放端口等等。
如果你的系統中還沒有安裝 Nmap,在你的發行版中運行合適的命令來安裝:
- $ sudo yum install nmap [在基于 RedHat 的系統中]
- $ sudo dnf install nmap [在基于Fedora 22+ 的版本中]
- $ sudo apt-get install nmap [在基于 Debian/Ubuntu 的系統中]
安裝完成后,使用的語法是:
- $ nmap [scan type...] options {target specification}
其中,{target specification}這個參數可以用主機名、IP 地址、網絡等來替代。
所以要列出所有連接到指定網絡的主機 IP 地址,首先要使用 ifconfig 命令或者ip 命令來識別網絡以及它的子網掩碼:
- $ ifconfig
- 或者
- $ ip addr show
在 Linux 中查找網絡細節
接下來,如下運行 Nmap 命令:
- $ nmap -sn 10.42.0.0/24
查找網絡中所有活躍的主機
上面的命令中:
- -sn - 是掃描的類型,這里是 ping 方式掃描。默認上,Nmap 使用端口掃描,但是這種掃描會禁用端口掃描。
- 10.42.0.0/24 - 是目標網絡,用你實際的網絡來替換。
要了解全面的信息,查看 Nmap 的手冊:
- $ man nmap
或者不帶任何參數直接運行 Nmap 查看使用信息摘要:
- $ nmap
此外,對于有興趣學習 Linux 安全掃描技術的人,可以閱讀 Nmap in Kali Linux 這篇實踐指導。
好了,就是這樣了,記得在下面的回復區給我們發送問題或者評論。你也可以跟我們分享其他列出指定網絡已連接設備的 IP 地址的方法。