nmap 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

nmap 命令安装:


-bash: nmap: command not found
 
#CentOS/RHEL 安装
yum install nmap
 
#Debian/Ubuntu 安装
apt-get install nmap
 
#Fedora
sudo dnf install nmap
 
#Arch Linux
sudo pacman -S nmap

#OpenSUSE
zypper install nmap

#Snap package
sudo snap install nmap

nmap 命令补充说明:


nmap(Network Mapper - 网络映射器)是用于网络探索和安全审核的开源工具。尽管它可以扫描单个主机,但它可以快速扫描大型网络。 nmap 以新颖的方式使用原始 IP 数据包来确定网络上可用的主机,这些主机提供的服务(应用程序名称和版本),它们正在运行的操作系统(和 OS 版本),包过滤器/防火墙的类型。正在使用中,还有许多其他特性。尽管 nmap 通常用于安全审核,但许多系统和网络管理员发现它对于常规任务(如网络清单,管理服务升级计划以及监视主机或服务正常运行时间)很有用。

nmap 的输出是扫描目标的列表,每个目标都有补充信息,具体取决于所使用的选项。该信息中的关键是“有趣的端口表”。该表列出了端口号和协议,服务名称以及状态。状态为打开已过滤已关闭未过滤

打开表示目标计算机上的应用程序正在侦听该端口上的连接/数据包。

筛选表示防火墙,筛选器或其他网络障碍物阻止了该端口,从而使 nmap 无法判断它是打开还是关闭。

封闭的端口没有应用程序在监听它们,尽管它们可以随时打开。端口分类为未过滤。当它们对 nmap 的探针有反应时,nmap 无法确定它们是打开还是关闭。当无法确定两个状态中的哪个描述端口时,nmap 报告已打开和已关闭的状态组合。当请求版本检测时,端口表还可以包括软件版本详细信息。当请求 IP 协议扫描(-sO)时,nmap 提供有关支持的 IP 协议的信息,而不是侦听端口。

除了有趣的端口表之外,nmap 还可以提供有关目标的更多信息,包括反向 DNS 名称,操作系统猜测,设备类型和 MAC 地址。

典型的 nmap 扫描如下所示。此示例中仅使用的 nmap 参数是 -A,以启用操作系统和版本检测,脚本扫描和 traceroute; -T4 可以更快地执行;然后是两个目标主机名。

nmap 命令语法:


nmap [Scan Type...] [Options] {target specification}

nmap 命令选项:


-O:激活操作探测;
-P0:值进行扫描,不ping主机;
-PT:是同TCP的ping;
-sV:探测服务版本信息;
-sP:ping扫描,仅发现目标主机是否存活;
-ps:发送同步(SYN)报文;
-PU:发送udp ping;
-PE:强制执行直接的ICMPping;
-PB:默认模式,可以使用ICMPping和TCPping;
-6:使用IPv6地址;
-v:得到更多选项信息;
-d:增加调试信息地输出;
-oN:以人们可阅读的格式输出;
-oX:以xml格式向指定文件输出信息;
-oM:以机器可阅读的格式输出;
-A:使用所有高级扫描选项;
--resume:继续上次执行完的扫描;
-P:指定要扫描的端口,可以是一个单独的端口,用逗号隔开多个端口,使用“-”表示端口范围;
-e:在多网络接口Linux系统中,指定扫描使用的网络接口;
-g:将指定的端口作为源端口进行扫描;
--ttl:指定发送的扫描报文的生存期;
--packet-trace:显示扫描过程中收发报文统计;
--scanflags:设置在扫描报文中的TCP标志。
--send-eth/--send-ip 使用原始以太网发送/构造指定IP发送

nmap 命令参数:


ip地址:指定待扫描报文中的TCP地址。

nmap 命令实例


典型的 nmap 扫描

$ nmap -A -T4 www.hexun.com

Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 12:04 CST
Nmap scan report for www.hexun.com (119.97.159.10)
Host is up (0.026s latency).
Not shown: 983 closed ports
PORT     STATE    SERVICE       VERSION
22/tcp   filtered ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
80/tcp   open     http          nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 405)
| http-robots.txt: 1 disallowed entry 
|_/*\xA3\xBF*
|_http-title: \xBA\xCD\xD1\xB6\xCD\xF8
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
443/tcp  open     http          nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 400)
|_http-title: 400 The plain HTTP request was sent to HTTPS port
| ssl-cert: Subject: commonName=*.hexun.com/organizationName=Beijing Hexun Online Consulting Co.,Ltd/stateOrProvinceName=Beijing/countryName=CN
| Not valid before: 2019-06-25T00:00:00+00:00
|_Not valid after:  2021-09-23T12:00:00+00:00
|_ssl-date: 2020-05-06T04:04:51+00:00; 0s from local time.
| tls-nextprotoneg: 
|_  http/1.1
445/tcp  filtered microsoft-ds
1433/tcp filtered ms-sql-s
1434/tcp filtered ms-sql-m
2000/tcp open     tcpwrapped
3306/tcp filtered mysql
3389/tcp filtered ms-wbt-server
4444/tcp filtered krb524
5060/tcp open     tcpwrapped
5800/tcp filtered vnc-http
5900/tcp filtered vnc

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.29 seconds

nmap 的其他示例

$ nmap www.hexun.com

Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 12:08 CST
Nmap scan report for www.hexun.com (119.97.159.10)
Host is up (0.025s latency).
Not shown: 983 closed ports
PORT     STATE    SERVICE
22/tcp   filtered ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
80/tcp   open     http
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
443/tcp  open     https
445/tcp  filtered microsoft-ds
1433/tcp filtered ms-sql-s
1434/tcp filtered ms-sql-m
2000/tcp open     cisco-sccp
3306/tcp filtered mysql
3389/tcp filtered ms-wbt-server
4444/tcp filtered krb524
5060/tcp open     sip
5800/tcp filtered vnc-http
5900/tcp filtered vnc

Nmap done: 1 IP address (1 host up) scanned in 1.65 seconds
$ nmap -v www.hexun.com

Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 12:09 CST
Initiating Ping Scan at 12:09
Scanning www.hexun.com (119.97.159.10) [2 ports]
Completed Ping Scan at 12:09, 0.03s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 12:09
Completed Parallel DNS resolution of 1 host. at 12:09, 0.00s elapsed
Initiating Connect Scan at 12:09
Scanning www.hexun.com (119.97.159.10) [1000 ports]
Discovered open port 80/tcp on 119.97.159.10
Discovered open port 443/tcp on 119.97.159.10
Discovered open port 2000/tcp on 119.97.159.10
Discovered open port 5060/tcp on 119.97.159.10
Completed Connect Scan at 12:09, 1.47s elapsed (1000 total ports)
Nmap scan report for www.hexun.com (119.97.159.10)
Host is up (0.026s latency).
Not shown: 983 closed ports
PORT     STATE    SERVICE
22/tcp   filtered ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
80/tcp   open     http
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
443/tcp  open     https
445/tcp  filtered microsoft-ds
1433/tcp filtered ms-sql-s
1434/tcp filtered ms-sql-m
2000/tcp open     cisco-sccp
3306/tcp filtered mysql
3389/tcp filtered ms-wbt-server
4444/tcp filtered krb524
5060/tcp open     sip
5800/tcp filtered vnc-http
5900/tcp filtered vnc

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.53 seconds

nmap 基本使用方法小结

nmap -sT ip_address #TCP contect()端口扫描
nmap -p 1-65535 -T4 -A -v ip #扫描1-65535(基本覆盖所有端口)

nmap -sU ip_address #UDP端口扫描

生成报告:

输出命令

-oN 文件名 #输出普通文件

-oX 文件名.xml #输出xml文件

nmap 命令扩展阅读:




nmap 命令评论