文章目录
一、Nmap介绍
Nmap(Network Mapper,网络映射器)是一款开放源代码的网络探测和安全审核工具。它被设计用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。它的图形化界面是Zenmap,分布式框架为DNmap。
1、Nmap的特点如下:
-
主机探测:探测网络上的主机,如列出响应TCP和ICMP请求、ICMP请求、开放特别端口的主机。
-
端口扫描:探测目标主机所开放的端口。
-
版本检测:探测目标主机的网络服务,判断其服务名称及版本号。
-
系统检测:探测目标主机的操作系统及网络设备的硬件特性。
-
支持探测脚本的编写:使用Nmap的脚本引擎(NSE)和Lua编程语言。
二、安装Nmap
Windows中Nmap下载地址:
https://nmap.org/download.html
在安装的过程中按照提示一步步进行即可
安装完成后可以直接通过命令行使用
三、Nmap常用方法
Nmap的参数较多,但是通常用不了那么多,以下是在渗透测试过程中比较常见的命令。
1、扫描单个目标地址:
在Nmap后面直接添加目标地址即可扫描,如下所示:
nmap 192.168.0.100
2、扫描多个目标地址:
如果目标地址不在同一网段,或在同一网段但不连续且数量不多,可以使用该方法进行扫描,如下所示:
nmap 192.168.0.1 192.168.0.6
3、扫描一个范围内的目标地址:
可以指定扫描一个连续的网段,中间使用“-”连接,例如,下列命令表示扫描范围为192.168.0.1~192.168.0.6,如下所示:
nmap 192.168.0.1-6
4、扫描目标地址所在的某个网段:
以C段为例,如果目标是一个网段,则可以通过添加子网掩码的方式扫描,下列命令表示扫描范围为192.168.0.1~192.168.0.255,如下所示:
nmap 192.168.0.1/24
5、扫描主机列表targets.txt中的所有目标地址:
扫描 targets.txt 中的地址或者网段,此处导入的是绝对路径,如果 targets.txt 文件与 nmap.exe 在同一个目录下,则直接引用文件名即可,如下所示:
nmap -iL C:\Users\smk\Desktop\targets.txt
6、扫描除某一个目标地址之外的所有目标地址:
下列命令表示扫描除192.168.0.105之外的其他192.168.0.x地址,从扫描结果来看确实没有对192.168.0.105进行扫描,如下所示:
nmap 192.168.0.100/24 -exclude 192.168.0.1
7、扫描除某一文件中的目标地址之外的目标地址:
下列命令表示扫描除了target.txt文件夹中涉及的地址或网段之外的目标地址。还是以扫描192.168.0.x网段为例,在targets.txt中添加192.168.0.100和192.168.0.105,从扫描结果来看已经证实该方法有效可用,如下所示:
nmap 192.168.0.100/24 -excludefile C:\Users\smk\Desktop\targets.txt
8、扫描某一目标地址的21、22、23、80端口:
如果不需要对目标主机进行全端口扫描,只想探测它是否开放了某一端口,那么使用-p参数指定端口号,将大大提升扫描速度,如下所示:
nmap 192.168.0.6 -p 135,443,445
-p : 只扫描指定的端口,-p-代表全端口扫描
9、路由跟踪:
下列命令表示对目标地址进行路由跟踪,如下所示:
nmap --traceroute 192.168.0.6
10、所在C段的在线状况:
下列命令表示扫描目标地址所在C段的在线状况,如下所示:
nmap -sP 192.168.0.100/24
11、操作系统识别:
下列命令表示通过指纹识别技术识别目标地址的操作系统的版本,如下所示:
nmap -O 192.168.0.6
12、跳过Ping扫描(无ping扫描):
nmap -Pn 192.168.1.1
13、版本探测:
nmap -sV 192.168.1.1