在 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
原文發布時間為:2017-12-08
本文來自雲棲社區合作夥伴“Linux中國”
最後更新:2017-06-06 07:36:55