admin管理员组

文章数量:1590165

一、NMAP简介

  nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片扫描,以及灵活的目标和端口设定。

二、命令格式

统一格式:nmap [扫描类型] [设置] {设备地址}
其中设备地址(主机名,IP地址,网段等)可以通过以下方法
1.-iL <文件名> 通过文件输入地址
2.-iR <IP地址数目>
3.–exclude <exclude_file> :排出文件中的地址
4.直接输入IP或网段(最常用)

三、NMAP工具安装及使用示例

1、安装方式

[root@test1 ~]# yum install -y nmap

2、扫描单个主机开放的端口

[root@test1 ~]# nmap 127.0.0.1

Starting Nmap 6.40 ( http://nmap ) at 2021-03-28 22:07 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000020s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ipp
8080/tcp open http-proxy

3、扫描主机操作系统类型

[root@test1 ~]# nmap -O 192.168.0.124

Starting Nmap 6.40 ( http://nmap ) at 2021-03-28 22:08 CST
Nmap scan report for 192.168.0.124
Host is up (0.000076s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
8080/tcp open http-proxy
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.9
Network Distance: 0 hops

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

4、扫描一个网段

[root@test1 ~]# nmap -sP 192.168.0.0/24

Starting Nmap 6.40 ( http://nmap ) at 2021-03-28 22:14 CST
Nmap scan report for 192.168.0.1
Host is up (0.0019s latency).
MAC Address: A0:8C:F8:7F:29:3E (Unknown)
Nmap scan report for 192.168.0.3
Host is up (0.0014s latency).

Nmap done: 256 IP addresses (32 hosts up) scanned in 1.53 seconds

5、扫描目标地址的指定端口

[root@test1 ~]# nmap 192.168.0.127 -p 3306

Starting Nmap 6.40 ( http://nmap ) at 2021-03-28 22:16 CST
Nmap scan report for 192.168.0.127
Host is up (0.00033s latency).
PORT STATE SERVICE
3306/tcp filtered mysql
MAC Address: 00:0C:29:D8:BE:49 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

6、探测防火墙

[root@test1 ~]# nmap -sF -T4 192.168.0.124

Starting Nmap 6.40 ( http://nmap ) at 2021-03-28 22:19 CST
Nmap scan report for 192.168.0.124
Host is up (0.000012s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open|filtered ssh
111/tcp open|filtered rpcbind
8080/tcp open|filtered http-proxy

Nmap done: 1 IP address (1 host up) scanned in 1.28 seconds

7、绕过防火墙进行全面扫描

[root@test1 ~]# nmap -Pn -A 192.168.0.124

Starting Nmap 6.40 ( http://nmap ) at 2021-03-28 22:20 CST
Nmap scan report for 192.168.0.124
Host is up (0.000072s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 2048 b1:f3:97:f6:b1:99:9d:0b:27:70:5f:92:43:a0:cf:cd (RSA)
|256 a1:65:10:a5:d3:9c:b7:da:72:00:3e:c0:dd:54:02:64 (ECDSA)
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
|
100000 2,3,4 111/udp rpcbind
8080/tcp open http-proxy?
|_http-open-proxy: Proxy might be redirecting requests
|_http-title: \xBC\xDE\xB8\xF8\xCE\xD2\xB0\xC9
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure/cgi-bin/servicefp-submit.cgi :
SF-Port8080-TCP:V=6.40%I=7%D=3/28%Time=6060909A%P=x86_64-redhat-linux-gnu%

SF:x20be\x20a\x20client\x20error\x20(e.g.,\x20malformed\x20request\x20s
SF:yntax,\x20invalid\x20requ");
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.7 - 3.9
Network Distance: 0 hops

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

8、查询指定服务端口软件版本

[root@test1 ~]# nmap -sV 192.168.0.124 -p 22

Starting Nmap 6.40 ( http://nmap ) at 2021-03-28 22:23 CST
Nmap scan report for 192.168.0.124
Host is up (0.000035s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)

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

9、使用某个脚本进行扫描

nmap --script=auth ip 对某个主机或某网段主机的应用进行弱口令检测

10、对一个文件列表中地址进行扫描

(base) [root@test1 tmp]# nmap -sn -iL 1.txt
Starting Nmap 6.40 ( http://nmap ) at 2023-12-06 16:38 CST
Nmap scan report for 192.168.0.1
Host is up (0.00096s latency).
MAC Address: A0:8C:F8:7F:29:3E (Unknown)

Nmap done: 2 IP addresses (2 hosts up) scanned in 0.10 seconds
(base) [root@test1 tmp]# cat 1.txt
192.168.0.1
192.168.0.124

10、在互联网上随机对几个地址进行扫描

四、Nmap扫描结果说明

  • Open(开放的): 应用程序正在这个端口上监听连接。
  • Closed(关闭的): 端口对探测做出了响应,但是现在没有应用程序在监听这个端口。
  • Filtered(过滤的): 端口没有对探测做出响应。同时告诉我们探针可能被一些过滤器(防火墙)终止了。
  • Unfiltered(未被过滤的):端口对探测做出了响应,但是Nmap无法确定它们是关闭还是开放。
  • Open/Filtered: 端口被过滤或者是开放的,Nmap无法做出判断。
  • Closed/Filtered: 端口被过滤或者是关闭的,Nmap无法做出判断。

五、常用参数说明

参数(注意区分大小写)说明
-sTTCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
-sS半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
-sF -sN秘密FIN数据包扫描、Xmas Tree、Null扫描模式
-sPping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。
-sUUDP扫描,但UDP扫描是不可靠的
-sA这项高级的扫描方法通常用来穿过防火墙的规则集
-sV探测端口服务版本
-Pn扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-v显示扫描过程,推荐使用
-h帮助选项,是最清楚的帮助文档
-p指定端口,如“1-65535、1433、135、22、80”等
-O启用远程操作系统检测,存在误报
-A全面系统检测、启用脚本检测、扫描等
-oN/-oX/-oG将报告写入文件,分别是正常、XML、grepable 三种格式
-T4针对TCP端口禁止动态扫描延迟超过10ms
-iL读取主机列表,例如,“-iL C:\ip.txt”

本文标签: 网络安全工具nmap