基本语法:
1
#nmap [扫描方式] [命令选项] {目标}
扫描目标格式:
IPv4 地址: 192.168.1.1
IPv6 地址:AABB:CCDD::FF%eth0
主机名:www.target.tgt
IP 地址范围:192.168.0-255.0-255
掩码格式:192.168.0.0/16
使用列表文件:-iL
设置扫描端口
无端口范围时扫描1000 个常用端口
-F 扫描100个最常用端口
-p
脚本引擎
-sC 运行默认脚本
–script=
**值得关注的脚本 **
完整版nmap脚本引擎的脚本在http://nmap.org/nsedoc/
一些特别有用的脚本包括:
dns-zone-transfer:尝试从dns服务器上拖一个AXFR请求的区域文件
$nmap –script dns-zone-transfer.nse –script-args dns-zone-transfer.domain=
脚本种类
nmap 的脚本种类包括但不限于下面种类:
auth:利用或绕过目标主机的访问控制
broadcast:通过本地网络广播发觉不包含在命令行内的主机
brute:针对目标主机猜解密码,支持各类协议,包括:http,SNMP, IAX,MySQL,VNC等。
default:当出现“-sC”或“-A”命令时此脚本自动运行
discovery:通过公开的资源信息,SNMP协议,目录服务等获取更多目标主机信息。
dos:会造成目标主机拒绝服务
exploit:尝试exploit目标
external:与不在目标列表的第三方系统交互
fuzzer: 在网络协议的规定内发送意想不到的请求
intrusive:可能会使目标崩溃,消耗过度的资源,或者通过恶意行为冲击目标系统
malware:在目标主机上寻找恶意软件感染迹象
safe:尽量不用负面的方式影响目标
version:估计目标主机显示的软件或协议版本
vul:判断目标主机是否存在一个已知漏洞
深入扫描命令
-Pn 不探测扫描(假定所有主机都存活)
-PB 默认探测扫描(探测端口:TCP 80,445&ICMP)
-PS
**扫描类型 **
-sP 只探测主机在线情况
-sS SYN扫描(隐身扫描)
-ST TCP扫描
-sU UDP扫描
-sV 系统版本检测
-O 操作系统识别
–scanflags 指定TCP标识位(设置URG, ACK, PSH,RST,SYN,FIN位)
细粒度的时间选项
–min-hostgroup/max-hostgroup
时序选项
-T0 偏执的:非常非常慢,用于IDS逃逸
-T1 猥琐的:相当慢,用于IDS逃逸
-T2 有礼貌的:降低速度以消耗更小的带宽,比默认慢十倍
-T3 普通的:默认,根据目标的反应自动调整时间模式
-T4 野蛮的:假定处在一个很好的网络环境,请求可能会淹没目标
-T5 疯狂的:非常野蛮,很可能会淹没目标端口或是漏掉一些开放端口
输出格式
-oN 标准输出
-oG 好理解的格式
-ox xml格式
-oA
misc选项
-n 禁止反向IP地址查找
-6 只是用 IPv6
-A 是用几个命令:OS 探测,版本探测,脚本扫描,traceroute
–reason 列出nmap的判断:端口开放,关闭,被过滤。