---
author: Aaron Kili
category: 系统运维
comments_data:
- date: '2016-12-08 08:15:36'
  message: 有zmap的吗？
  postip: 206.191.170.209
  username: 来自美国的 Chrome 54.0|Windows 8.1 用户
- date: '2016-12-08 09:10:48'
  message: "https://linux.cn/article-5860-1.html<br />\r\n<br />\r\n// 你看你不注册用户，没法进行站内搜索吧~"
  postip: 118.79.126.98
  username: linux [Chrome 54.0|Mac 10.11]
- date: '2016-12-08 10:02:57'
  message: cool
  postip: 222.92.187.131
  username: 来自江苏苏州的 Firefox 45.0|GNU/Linux 用户
- date: '2016-12-08 11:18:39'
  message: 往文章的右侧看，或者 Ctrl-F 在本页面搜一下 zmap。
  postip: 118.122.120.11
  username: 来自四川成都的 Chrome 54.0|GNU/Linux 用户
- date: '2016-12-15 08:52:44'
  message: 我记得NMAP里有个NPING的工具，可以自定义发送伪装包。以前利用这个试过ARP。后来笔记没有了。不知道站里有这个工具的介绍吗？
  postip: 222.143.20.29
  username: lmzg [Chrome 54.0|Windows 10]
- date: '2016-12-23 10:20:42'
  message: 精品好文收藏分享
  postip: 210.13.83.237
  username: wst021 [Chrome 55.0|Windows 8.1]
count:
  commentnum: 6
  favtimes: 5
  likes: 0
  sharetimes: 1
  viewnum: 18773
date: '2016-12-08 08:05:00'
editorchoice: false
excerpt: 你可以在 Linux 的生态系统中找到很多网络监控工具，它们可以为你生成出网络中所有设备的摘要，包括它们的 IP 地址等信息。然而，实际上有时候你只需要一个简单的命令行工具，运行一个简单的命令就能提供同样的信息。
fromurl: http://www.tecmint.com/find-live-hosts-ip-addresses-on-linux-network/
id: 8021
islctt: true
largepic: /images/p/201612/06/221705eiyxem2djd2cc0d7.jpg
permalink: /article-8021-1.html
pic: /images/p/201612/06/221705eiyxem2djd2cc0d7.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 你可以在 Linux 的生态系统中找到很多网络监控工具，它们可以为你生成出网络中所有设备的摘要，包括它们的 IP 地址等信息。然而，实际上有时候你只需要一个简单的命令行工具，运行一个简单的命令就能提供同样的信息。
tags:
- nmap
thumb: false
title: 在 Linux 中找出所有在线主机的 IP 地址
titlepic: true
translator: geekpi
updated: '2016-12-08 08:05:00'
---

![](/images/p/201612/06/221705eiyxem2djd2cc0d7.jpg)


你可以在 Linux 的生态系统中找到很多[网络监控工具](https://linux.cn/topic-linux-system-performance-monitoring.html)，它们可以为你生成出网络中所有设备的摘要，包括它们的 IP 地址等信息。


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


本篇教程会向你展示如何找出所有连接到给定网络的主机的 IP 地址。这里我们会使用 [Nmap 工具](http://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/)来找出所有连接到相同网络的设备的IP地址。


[Nmap](/article-7960-1.html) (Network Mapper 的简称)是一款开源、强大并且多功能的探查网络的命令行工具，用来[执行安全扫描、网络审计](http://www.tecmint.com/audit-network-performance-security-and-troubleshooting-in-linux/)、[查找远程主机的开放端口](http://www.tecmint.com/find-open-ports-in-linux/)等等。


如果你的系统中还没有安装 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 命令](http://www.tecmint.com/ifconfig-command-examples/)或者[ip 命令](http://www.tecmint.com/ip-command-examples/)来识别网络以及它的子网掩码：



```
$ ifconfig
或者
$ ip addr show

```

![Find Network Details in Linux](/images/p/201612/08/090909axrkfdr3ynjnbnzx.png)


*在 Linux 中查找网络细节*


接下来，如下运行 Nmap 命令：



```
$ nmap  -sn  10.42.0.0/24

```

 [![Find All Live Hosts on Network](/images/p/201612/06/221731agtnqp13ttz1c2zn.png)](http://www.tecmint.com/wp-content/uploads/2016/11/Find-All-Live-Hosts-on-Network.png) 


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


上面的命令中：


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


要了解全面的信息，查看 Nmap 的手册：



```
$ man nmap

```

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



```
$ nmap

```

此外，对于有兴趣学习 Linux 安全扫描技术的人，可以阅读 [Nmap in Kali Linux](http://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/) 这篇实践指导。


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




---


via: <http://www.tecmint.com/find-live-hosts-ip-addresses-on-linux-network/>


作者：[Aaron Kili](http://www.tecmint.com/author/aaronkili/) 译者：[geekpi](https://github.com/geekpi) 校对：[jasminepeng](https://github.com/jasminepeng)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出