下载地址:https://nmap.org/download.html
Nmap是一款开源的网络探测和安全审核的工具,它的设计目标是快速地扫描大型网络。它是网络管理员必用的软件之一,以及用以评估网络系统保安。
nmap输出的是扫描目标的列表,以及每个目标的补充信息。感兴趣的端口表格,会列出端口号,协议,服务名称和状态
功能:主机探测、端口扫描、版本检测、支持探测脚本的编写
工作原理:
Nmap对目标主机进行一系列的测试,利用测试结果建立相应目标主机的Nmap指纹,然后Nmap会对指纹进行匹配,最终输出相应的结果
端口状态:
1)Open:开放着,意味着目标及其上得以应用程序正在该端口监听连接/报文
2)filtered:被过滤的,被防火墙,过滤器或则其他网络障碍阻止了,无法得知是开放的还是关闭的
3)closed:关闭的
4)unfiltered:未被过滤的,当端口对nmap探测做出响应,但是nmap无法确定大门是关闭的还是开放的,会被默认unfiltered模式
1、扫描单个目标地址
nmap IP地址
简单扫描:该扫描方式可以针对IP或则域名进行扫描,扫描方式迅速,可以很方便地发现目标端口的开放情况及主机在线情况
2、扫描多个目标地址(空格隔开)
nmap IP地址 IP地址
3、扫描一个范围内的目标地址
nmap 172.16.12.100-200
4、扫描目标地址所在的某个网段
nmap 0.0.0.0/24(扫描挣个子网)
5、nmap a b c (扫描多个目标)
6、nmap 192.168.1.1-100(扫描IP为1-100的所有主机)
7、扫描主机列表test.txt中所有目标主机
nmap -iL C:\users\test.txt
nmap -iL target.txt扫描与nmap在同一目录下的txt文件中的IP地址列表
8、扫描出某一个目标地址之外的所有目标地址
nmap 192.168.0.0/24 -exclude 192.168.0.100
9、扫描出某一文件中的目标地址之外的目标地址
nmap 192.168.0.0/24 -excludefile C:\users\test.txt
10、扫描出某一目标地址的21、22、23、80端口
nmap IP地址 -p 21,22,23,80
11、对目标地址进行路由追踪
nmap -traceroute IP地址
12、扫描目标地址所在的网段的在线情况
nmap -sP 0.0.0.0/24
Ping扫描只进行ping,然后显示出在线的主机。使用该选项扫描可以轻易获取目标信息而不会被轻易发现。在默认情况下,Nmap会发送一个ICMP回声请求和一个TCP报文到目标端口。Ping扫描的优点是不会返回太多的信息影响对结果的分析,并且扫描方式高效
13、目标地址的操作系统指纹识别
nmap -O IP地址
14、目标地址提供的服务版本检测
nmap -sV IP地址
15、探测防火墙状态
nmap -sF -T4 IP地址
T4:扫描过程使用的时序,一共有6个等级(0~5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测到并且屏蔽,在网络通讯状态好的前提下推荐使用T4
16、全面的系统探测
nmap -v -A IP地址
17、穿透防火墙的全面系统探测
nmap -Pn -A IP地址
18、nmap脚本引擎扫描,扫描web敏感目录
nmap -p 80 --script=http-enum.nse IP地址
19、以http开头的脚本扫描
nmap --script"http-*" IP地址
20、nmap进阶扫描
鉴权扫描
nmap --script=auth IP地址
--script=auth:可以对目标主机或目标主机所在的网段进行应用弱口令检测
21、nmap暴力破解攻击
nmap --script=brute IP地址
--script=brute:可以对数据库,smb,snmp等进行简单密码的暴力破解
22、扫描常见的漏洞
nmap --script=vuln IP地址
可以检查目标主机或网段是否存在常见的漏洞
23、应用服务扫描
nmap --script=realvnc-auth-bypass IP地址
vnc服务、mysql服务、Telent服务、rsync服务器,进行扫描
24、探测局域网内更多服务开启的情况
nmap -n -p 445 --script=broadcaast IP地址
25、Whois解析
Nmap --script external baidu.com
26、半开扫描
nmap -sS -p 1-65535 -v IP地址
扫描端口1-65535,目标主机为172.16.12.110显示扫描过程,-sS半开扫描,不容易被系统日志所记录,使用的SYN标志位扫描是不容易被注意到的
27、nmap -sL a/24(扫描看到的所以主机的列表)
28、nmap a -exclude b (扫描除了某一个IP外的所有子网主机)
29、nmap -a -excludefile bbb.txt(bbb中的文件将会从扫描的主机中排除)
30、nmap -p 80,21,23 a(扫描特定主机上的80、21、23端口)
31、nmap -sS (半开放式扫描,syn scan,不会留下任何日志记录)
32、nmap -sT(默认的扫描方式,syn tcp扫描,会建立tcp连接)
33、nmap -sU (用来寻找主机的UDP端口,不发送任何SYN包)
34、nmap -sF (syn ping扫描方式,发送fin标志不需要tcp握手)
35、nmap -sP (用来找出主机是否存在网络中,而并非用来发现开放的端口)
36、nmap -sV (用来检测扫描目标主机的端口和软件的版本)
37、namp -sL (不用真实的主机IP发送数据包,使用另外一个目标网络的主机发送数据包)
38、nmap -O (检测操作系统)
39、nmap -PN (不ping远程的主机,绕过ping命令)
40、nmap -vv (输出超级详细的信息)
41、nmap -P0 IP地址 (无ping扫描)
无ping扫描通常用于防火墙禁止ping的情况下,它能确定正在运行的机器
默认情况下,nmap只对正在运行的主机进行高强度的探测,如端口扫描,版本探测或则操作系统探测。用-P0禁止主机发现会使nmap对每一个特定的目标IP地址进行所要求的扫描,这可以穿透防火墙,也可以避免被防护墙发现
42、nmap -PS -v IP地址(TCP SYN Ping扫描)
通常情况下,nmap默认是使用TCP ACK和ICMP Echo 请求对目标进行是否存活的响应,当目标主机的防火墙阻止这些请求时,可以使用TCP SYN Ping扫描来判断主机是否存活
-PS选项发送一个设置SYN标志位的空TCP报文,默认端口为80
但不同的端口也可以作为选项指定,甚至可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80,115,3306,3389),这种情况下,每个端口会被并发的扫描
43、nmap -PA -v IP地址(TCP ACK Ping扫描)
使用-PA选项可以进行TCP ACK Ping扫描。它与TCP SYN Ping扫描非常类似,区别在于设置的TCP标志位是ACK而不是SYN,使用这种方式扫描可以探测阻止SYN包或ICMP Echo请求的主机
44、nmap -PU -v IP地址(UDP Ping扫描)
使用UDP Ping扫描时Nmap会发送一个空UDP包到目标之间,如果目标主机相应则返回一个ICMP端口不可达错误,如果目标主机不是存活状态则会返回各自ICMP错误信息
45、nmap -PE -v IP地址
nmap -PP -v IP地址
nmap -PM -v IP地址
ICMP是控制报文协议,nmap发送一个ICMP type8(回声请求)报文到目标IP地址,从运行的主机得到一个type0(回声相应)报文。
-PE选项简单的来说是通过向目标发送ICMP Echo数据包来探测目标主机是否在线,使用-PE选项打开该回声请求功能
-PP选项是ICMP时间戳ping扫描
-PM选项可以进行icmp地址掩码ping扫描
46、nmap -PR IP地址 (ARP Ping扫描)
-PR通常在扫描局域网时使用,在内网的情况下,使用ARP ping扫描方式是最有效的,在本地局域网中防火墙不会禁止ARP请求,这就使得他比其他ping扫描都更加高效
47、nmap -n -sL 0.0.0.0/24(禁止反向域名解析)
如果单纯扫描一段IP,使用该选项可以大幅度减少目标主机的相应时间,从而更快的得到结果
48、nmap -PY -v IP地址(SCTP INIT Ping扫描)
SCTP(流控制传输协议)是IETF在2000定义的一个传输层协议
SCTP可以看作是TCP协议的改进,他改进了TCP的一些不足,SCTP INIT Ping扫描通过向目标发送INIT包,根据目标主机的相应判断目标主机是否存活