TranslateProject/translated/tech/20161126 Find Out All Live Hosts IP Addresses Connected on Network in Linux.md

94 lines
3.7 KiB
Markdown
Raw Normal View History

2016-12-05 16:09:22 +08:00
在 Linux 中找出所有已连网主机 IP 地址
2016-12-05 14:08:03 +08:00
============================================================
2016-12-05 16:09:22 +08:00
你可以在 Linux 的生态系统中找到很多[网络监控工具][1],它们可以为你生成出网络中所有设备的摘要,包括它们的 IP 地址等信息。
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
然而,实际上有时候你只需要一个简单的命令行工具,运行一个简单的命令就能提供同样的信息。
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
本篇教程会向你展示如何找出所有连接到给定网络的主机的 IP 地址。这里我们会使用 [Nmap 工具][2]来找出所有连接到相同网络的设备的IP地址。
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
[Nmap][3] (Network Mapper 的简称)是一款开源、强大并且多功能的探查网络的命令行工具,用来[执行安全扫描、网络审计][4]、[查找远程主机的开放端口][5]等等。
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
如果你的系统中还没有安装 Nmap在你的发行版中运行合适的命令来安装
2016-12-05 14:08:03 +08:00
```
2016-12-05 16:09:22 +08:00
$ sudo yum install nmap         [在基于 RedHat 的系统中]
$ sudo dnf install nmap         [在基于Fedora 22+ 的版本中]
$ sudo apt-get install nmap     [在基于 Debian/Ubuntu 的系统中]
2016-12-05 14:08:03 +08:00
```
安装完成后,使用的语法是:
```
$ nmap [scan type...] options {target specification}
```
2016-12-05 16:09:22 +08:00
其中,**{target specification}**这个参数可以用**主机名、IP 地址、网络**等来替代。
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
所以要列出所有连接到指定网络的主机 IP 地址,首先要使用 [ifconfig 命令][6]或者[ip 命令][7]来识别网络以及它的子网掩码:
2016-12-05 14:08:03 +08:00
```
$ ifconfig
或者
$ ip addr show
```
[
![Find Network Details in Linux](http://www.tecmint.com/wp-content/uploads/2016/11/Find-Network-Details-in-Linux.png)
][8]
2016-12-05 16:09:22 +08:00
*在 Linux 中查找网络细节*
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
接下来,如下运行 Nmap 命令:
2016-12-05 14:08:03 +08:00
```
$ nmap -sn 10.42.0.0/24
```
[
![Find All Live Hosts on Network](http://www.tecmint.com/wp-content/uploads/2016/11/Find-All-Live-Hosts-on-Network.png)
][9]
2016-12-05 16:09:22 +08:00
*查找网络中所有活跃的主机*
2016-12-05 14:08:03 +08:00
上面的命令中:
2016-12-05 16:09:22 +08:00
- `-sn` - 是扫描的类型,这里是 ping 方式扫描。默认上Nmap 使用端口扫描,但是这种扫描会禁用端口扫描。
- `10.42.0.0/24` - 是目标网络,用你实际的网络来替换。
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
要了解全面的信息,查看 Nmap 的手册:
2016-12-05 14:08:03 +08:00
```
$ man nmap
```
2016-12-05 16:09:22 +08:00
或者不带任何参数直接运行 Nmap 查看使用信息摘要:
2016-12-05 14:08:03 +08:00
```
$ nmap
```
2016-12-05 16:09:22 +08:00
此外,对于有兴趣学习 Linux 安全扫描技术的人,可以阅读 [Nmap in Kali Linux][10] 这篇实践指导。
2016-12-05 14:08:03 +08:00
2016-12-05 16:09:22 +08:00
好了,就是这样了,记得在下面的回复区给我们发送问题或者评论。你也可以跟我们分享其他列出指定网络已连接设备的 IP 地址的方法。
2016-12-05 14:08:03 +08:00
--------------------------------------------------------------------------------
via: http://www.tecmint.com/find-live-hosts-ip-addresses-on-linux-network/
作者:[Aaron Kili][a]
译者:[geekpi](https://github.com/geekpi)
2016-12-05 15:44:30 +08:00
校对:[jasminepeng](https://github.com/jasminepeng)
2016-12-05 14:08:03 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/aaronkili/
[1]:http://www.tecmint.com/command-line-tools-to-monitor-linux-performance/
[2]:http://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/
[3]:http://www.tecmint.com/nmap-command-examples/
[4]:http://www.tecmint.com/audit-network-performance-security-and-troubleshooting-in-linux/
[5]:http://www.tecmint.com/find-open-ports-in-linux/
[6]:http://www.tecmint.com/ifconfig-command-examples/
[7]:http://www.tecmint.com/ip-command-examples/
[8]:http://www.tecmint.com/wp-content/uploads/2016/11/Find-Network-Details-in-Linux.png
[9]:http://www.tecmint.com/wp-content/uploads/2016/11/Find-All-Live-Hosts-on-Network.png
[10]:http://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/