nmap是一款端口扫描神器。
用法也很多,我这里只列举常用的几种用法
常用指令:
nmap -sP 192.168.1.100 //查看一个主机是否在线
nmap 192.168.1.100 //查看一个主机上开放的端口
nmap -sV -O 192.168.0.100 //判断目标操作系统类型
nmap -sS 192.168.1.100 //半开放syn扫描
nmap -p 1-1000 192.168.1.100 //扫描指定端口范围
nmap -p 80 192.168.1.100 //扫描特定端口
nmap -sV 192.168.1.100 //查看目标开放端口对应的协议及版本信息
三个判断防火墙的扫描
nmap -sF IP
nmap -sA IP
nmap -sW IP //ACK,探测防火墙扫描
> 其他参数
> -sT 全连接扫描,更慢,会被服务器记录日志,但不易被入侵检测系统检测到
> -Pn 跳过Ping测试(防火墙),扫描指定目标
> -v 详细模式V越多就越详细
> -p 80 ping指定端口
> --script=script_name 使用脚本
> 脚本列表[http://nmap.org/nsedoc/scripts/](http://nmap.org/nsedoc/scripts/)
**nmap脚本扫描:
分类:**
> 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=auth IP
//负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令
http-php-version //获得PHP版本信息
Http-enum //枚举Web站点目录
smtp-strangeport //判断SMTP是否运行在默认端口
dns-blacklist //发现IP地址黑名单
~~~
* * * * *
~~~
nmap --script=vuln 192.168.137.* //扫描常见漏洞
smb-check-vulns //检测smb漏洞
samba-vuln-cve-2012-1182 //扫描Samba堆溢出漏洞
~~~
* * * * *
扫描wordpress应用的脚本
~~~
1.http-wordpress-plugins
2.http-wordpress-enum
3.http-wordpress-brute
~~~
测试WAF是否存在
~~~
nmap -p 80,443 --script=http-waf-detect 192.168.0.100
nmap -p 80,443 --script=http-waf-fingerprint www.victom.com
~~~