Nmap 是 Network Mapper 的简写,是一款开源、功能强大的系统管理/网络管理工具。Nmap 常用于探测网络、执行安全扫描、网络审计和查找远程计算机上的开放端口。它可以扫描远程主机上运行的实时主机、操作系统、数据包过滤器和开放端口。

本文将通过实际案例来演示 nmap 的用法,演示方便起见,将使用两台关闭了防火墙软件的服务器,信息如下:

  • 192.168.209.253  —  node1.rultr.com
  • 192.168.209.254  —  node2.rultr.com

Nmap 的命令格式:

# nmap [Scan Type(s)] [Options] {target specification}

目前大多数 Linux 的发行版都可以安装 nmap 工具,可以在 RHEL 或 Debian 发行版系的软件仓库安装 nmap。根据使用的发行版,可以通过如下命令安装 nmap 软件包:

# yum install nmap		[on Red Hat based systems]
OR
# apt-get install nmap	        [on Debian based systems]

1] 通过主机名和 IP 地址扫描系统信息

Nmap 工具提供了多种扫描系统的方法。 在此示例中,可以使用主机名 node2.rultr.com 执行扫描,可以获得系统上所有打开的端口、服务和 MAC 地址。

当然,也可以使用 IP 地址进行扫描,会得到相同的结果。

2] 使用”-v”参数

在扫描时使用”-v”参数,可以获得远程主机的更多细节:

3] 扫描多个主机

需要扫描多个主机时,可以一条命令后跟多个主机的IP地址,主机间通过空格间隔即可。

4] 扫描整个子网

需要扫描整个子网时,可以使用通配符”*”号来代理子网中的所有主机:

# nmap 192.168.209.*

可以看到,nmap 命令已经扫描了整个子网中的所有状态为 up 的主机。

5] 通过逗号分隔扫描多个主机

可以通过逗号分隔 IP 地址最后一位数字,来扫描多个 IP 地址,示例如下:

# nmap 192.168.209.250,251,252

6] 扫描文件中指定的主机

通过”iL”参数,可以导入并扫描指定文件中的主机。例如主机文件名为host.txt,则示例命令为:

# nmap -iL host.txt

7] 扫描一个地址段

与逗号分隔相似,可以对IP地址的末位数字设置范围来设定扫描范围:

# nmap 192.168.209.1-100

8] 排队扫描主机

在扫描多台主机时,可以使用”–exclude”参数来排队某些主机不进行扫描:

# nmap 192.168.209.1-100 --exclude 192.168.209.100

9] 扫描主机系统信息及路由

使用”-A”参数,可以获得远程主机的系统及路由信息:

在上面的输出中,可以看到 nmap 提供了远程主机上运行的操作系统的 TCP/IP 指纹,并且更具体地说明了远程主机上运行的端口和服务。

10] 扫描操作系统信息

使用”-O”参数并配合”-osscan-guess”选项,可以进一步扫描主机的操作系统信息。

11] 输出主机的接口和路由信息

使用”–iflist”参数,可以输出主机的接中和路由信息:

# nmap --iflist

12] 扫描主机特定端口

可以使用”-p”参数加端口号的方式来确定远程主机的特定端口是否可用:

# nmap -p 80 node2.rultr.com

以上就是 nmap 的主要使用方法,希望对您有所帮助。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注