看了一遍nmap的手册,简单整理了下常用的选项
nmap [<扫描类型>...] [<选项>] {<扫描目标说明>}
指定目标相关
CIDR 风格
带上 /number 就可以扫子网,比如 192.168.1.0/24
逗号分割
www.baidu.com, www.zhihu.com
分割线
10.22-25.43.32
//分割线可以出现在任何一个地方
来自文件
-iL <inputfile>
随机
-iR <hostnum>
为0时意为不停止
排除不需要的host
--exclude <host1 [, host2] [, host3] ... >
--excludefile <excludefile>
主机发现
-sL list scan
-sP ping 扫描
-P0 无ping
-PS [port list] (TCP SYN ping) // need root on Unix
-PA [port list] (TCP ACK ping)
-PU [port list] (UDP ping)
-PR (Arp ping)
-PE -PP -PM (ICMP ping)
-n 不用域名解析
-R 为所有目标解析
--system_dns 使用系统的dns来解析
端口扫描
-sS TCP SYN
-sT TCP connect
-sU UDP
-sN TCP Null 不设标志位
-sF FIN
-sX Xmas 设置FIN PSH URG
-sA TCP ACK
-sW TCP 窗口扫描
-sM TCPMaimon扫描
--scanflags 定制的TCP扫描
-sI <zombiehost[:probeport]> (Idlescan)
-sO IP协议
-b <ftp relay host> ftp 弹跳扫描
端口说明和扫描位置
-p <port message>
-F 快速扫描
-r 不使用随机顺序扫描
服务和版本探测
-sV 版本探测
--allports 不为版本探测排除任何端口
--version-intensity <intensity> 设置 版本扫描强度
--version-light 打开轻量级模式 // 级别2
--version-all 尝试每个探测 // 级别9
--version-trace 跟踪版本扫描活动
-sR RPC 扫描
操作系统扫描
-O 启用操作系统检测
// 也可以使用-A来同时启用操作系统检测和版本检测。
--osscan-limit 针对指定的目标进行操作系统检测
--osscan-guess
--fuzzy 推测操作系统检测结果
时间和性能
调整并行扫描组的大小
--min-hostgroup<milliseconds>
--max-hostgroup<milliseconds>
调整探测报文的并行度
--min-parallelism<milliseconds>
--max-parallelism<milliseconds>
调整探测报文超时
--min_rtt_timeout <milliseconds>
--max-rtt-timeout <milliseconds>
--initial-rtt-timeout <milliseconds>
放弃低速目标主机
--host-timeout<milliseconds>
调整探测报文的时间间隔
--scan-delay<milliseconds>
--max_scan-delay<milliseconds>
设置时间模板
-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>
// -T0/1 可以减少 IDS报警,但是显著变慢
逃避检测相关
-f 报文分段
--mtu 使用指定的MTU
-D<decoy1[, decoy2][, ME], ...> 使用诱饵隐蔽扫描
-S<IP_Address> 源地址哄骗
-e <interface> 使用指定的接口
--source-port<portnumber>;-g<portnumber> 源端口哄骗
--data-length<number> 发送报文时 附加随机数据
--ttl <value> 设置ttl
--randomize-hosts 对目标主机的顺序随机排列
--spoof-mac<macaddress, prefix, orvendorname> MAC地址哄骗
输出
-oN<filespec> 标准输出
-oX<filespec> XML输出
-oS<filespec> ScRipTKIdd|3oUTpuT
-oG<filespec> Grep输出
-oA<basename> 输出至所有格式
细节和调试
-v 信息详细程度
-d [level] debug level
--packet-trace 跟踪发送和接收的报文
--iflist 列举接口和路由
其他
--append-output 在输出文件中添加
--resume<filename> 继续中断的扫描
--stylesheet<pathorURL> 设置XSL样式表,转换XML输出
--no_stylesheet 忽略XML声明的XSL样式表
-6 ipv6
-A 激烈模式
--datadir<directoryname> 说明用户Nmap数据文件位置
--send-eth 使用原以太网帧发送
--send-ip 在原IP层发送
--privileged 假定用户具有全部权限
--interactive 在交互模式中启动
-v --version 版本
-h --help 帮组
nmap 识别端口的6个状态
open : 应用程序正在接受来自该端口的访问
closed : 可访问,但是没有程序在监听
filtered : 包被阻止了,不知道是什么情况
unfiltered : 端口可访问,但是不确定是否开放
open|filtered : 特殊状态,不确定
colsed:filterd : 特殊状态,不确定