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