Nmap使用
1、Nmap常用扫描参数说明
参数(注意区分大小写) | 说明 |
---|---|
-ST | TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。 |
-sS | 半开扫描,很少有系统能把它记入系统的日志,不过,需要root权限。 |
-sF -sN | 秘密FIN数据包扫描、Xmas Tree、Null扫描模式 |
-sP | ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。 |
-sU | UDP扫描,但UDP扫描是不可靠的 |
-sA | 这项高级的扫描方式通常用来穿过防火墙的规则集 |
-sV | 探测端口服务版本 |
-Pn | 扫描之前不需要ping命令,有些防火墙禁止ping的命令。可以使用此选项进行扫描 |
-v | 显示扫描过程,推荐使用 |
-h | 帮助选项,是最清楚的帮助文档 |
-p | 指定端口,如“1-65535、1433、135、22、80”等 |
-O | 启用远程操作系统检测,存在误报 |
-A | 全面系统检测,启用脚本检测、扫描等 |
-oN/-oX/oG | 将报告写入文件,分别是正常、XML、grepable三种格式 |
-T4 | 针对TCP端口禁止动态扫描延迟超过10ms |
-IL | 读取主机列表,例如,“-IL C:\ip.txt” |
2、Nmap脚本分类
auth:负责处理鉴权证书(绕开鉴权)的脚本
broadcast:在局域网内探查更多服务开启状况,如:dhcp/dns/sqlserver等服务
brute:提供暴力破解方式,针对常见的应用如:http/snmp等
default:使用-sc或-A选项扫描时候默认的脚本,提供基本脚本扫描能力
discovery:对网络进行更多的信息,如:SMB枚举、SNMP查询等
dos:用于进行拒绝服务攻击
exploit:利用已知的漏洞入侵系统
external:利用第三方的数据库或资源,例如进行whois解析
fuzzer:模糊测试的脚本,发送一场的包到目标及,探测出潜在漏洞
interusive:入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
malware:探测目标机是否感染了病毒,开启了后门等信息
safe:此类与intrusive相反,属于安全性脚本MS0_067
version:负责增强服务与版本扫描(Version Detection)功能的脚本
vuln:负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS0_067
示例
-sP:进行ping扫描(打印出来对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测))
nmap -sP 192.168.3.0/24(这个命令可以用于探测局域网有哪些机器)
-sS:半开放扫描(非3次握手的tcp扫描)
使用频率最高的扫描选项:SYN扫描,又称半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高(一个完整tcp连接需要3次握手,而-sS选项不需要三次握手)
优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机不会把连接记入系统日志。(防止对方判断为扫描行为),扫描速度快,效率高,在工作中使用评论最高。
缺点:它需要root/Administrator权限执行
nmap -sS -p 1-65535 192.168.3.16 (扫描目标开放得所有端口-半开式)
-sT:3次握手方式tcp的扫描
优点:普通用户也可以使用
缺点:这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息,由于它要完成3次握手,效率低,速度慢,建议使用-sS
-sV:扫描目标地址开放服务(端口)版本
版本检测是用来扫描目标主机和端口上运行的软件的版本,如下扫描,多出了ssh的版本信息。
namp -sV 192.168.3.16
-O:扫描目标地址进行操作系统版本
nmap -O 192.168.3.16
-A:OS版本识别,版本探测,脚本扫描和综合扫描
namp -A 192.168.3.16
-Pn -A :绕过防火墙进行全面扫描
namp -Pn -A 192.168.3.16