如何在Linux中找出所有在线主机的IP地址

你可以在 Linux 的生态系统中找到很多网络监控工具,它们可以为你生成出网络中所有设备的摘要,包括它们的 IP 地址等信息。

如何在Linux中找出所有在线主机的IP地址

然而,实际上有时候你只需要一个简单的命令行工具,运行一个简单的命令就能提供同样的信息。

本篇教程会向你展示如何找出所有连接到给定网络的主机的 IP 地址。这里我们会使用 Nmap 工具来找出所有连接到相同网络的设备的IP地址。

Nmap (Network Mapper 的简称)是一款开源、强大并且多功能的探查网络的命令行工具,用来执行安全扫描、网络审计、查找远程主机的开放端口等等。

如果你的系统中还没有安装 Nmap,在你的发行版中运行合适的命令来安装:


  1. $ sudo yum install nmap     [在基于 RedHat 的系统中] 
  2. $ sudo dnf install nmap     [在基于Fedora 22+ 的版本中] 
  3. $ sudo apt-get install nmap [在基于 Debian/Ubuntu 的系统中] 

安装完成后,使用的语法是:


  1. $ nmap  [scan type...]  options  {target specification} 

其中,{target specification}这个参数可以用主机名、IP 地址、网络等来替代。

所以要列出所有连接到指定网络的主机 IP 地址,首先要使用 ifconfig 命令或者ip 命令来识别网络以及它的子网掩码:


  1. $ ifconfig 
  2. 或者 
  3. $ ip addr show 

如何在Linux中找出所有在线主机的IP地址

在 Linux 中查找网络细节

接下来,如下运行 Nmap 命令:


  1. $ nmap  -sn  10.42.0.0/24 

如何在Linux中找出所有在线主机的IP地址

查找网络中所有活跃的主机

上面的命令中:

  • -sn - 是扫描的类型,这里是 ping 方式扫描。默认上,Nmap 使用端口扫描,但是这种扫描会禁用端口扫描。
  • 10.42.0.0/24 - 是目标网络,用你实际的网络来替换。

要了解全面的信息,查看 Nmap 的手册:


  1. $ man nmap 

或者不带任何参数直接运行 Nmap 查看使用信息摘要:


  1. $ nmap 

此外,对于有兴趣学习 Linux 安全扫描技术的人,可以阅读 Nmap in Kali Linux 这篇实践指导。

好了,就是这样了,记得在下面的回复区给我们发送问题或者评论。你也可以跟我们分享其他列出指定网络已连接设备的 IP 地址的方法。





作者:Aaron Kili
来源:51CTO
上一篇:【Android 安装包优化】动态库打包配置 ( “armeabi-v7a“, “arm64-v8a“, “x86“, “x86_64“ APK 打包 CPU 指令集配置 | NDK 完整配置参考 )


下一篇:docker~run起来之后执行多条命令