nmap简单使用参数
学习nmap的过程中,顺手翻译一下使用方法,提高英语水平。
主机说明
- 可以输入域名(scanme.nmap.org),IP地址(192.168.0.0/24),网段(10.0.0-255.1-254)等
-iL <inputfilename>: 从文本读取要扫描的主机-iR <num hosts>: 随机选择互联网上的IP地址进行扫描研究--exclude <host1[,host2][,host3],...>: 排除指定主机--excludefile <exclude_file>: 从文本读取要排除的主机
主机扫描相关
-sL: 仅反向解析目标IP,不进行扫描-sn: 仅使用ping扫描,不进行端口扫描-Pn: 假设所有主机都在线,跳过主机扫描阶段-PS/PA/PU/PY[portlist]: 使用TCP SYN/ACK, UDP, SCTP方法扫描主机指定端口-PE/PP/PM: 使用ICMP echo, timestamp, netmask request方法扫描主机-PO[protocol list]: IP Protocol Ping-n/-R: 不/总是进行DNS反向解析(默认:有时候进行)--dns-servers<serv1[,serv2],…>: 指定进行域名反向解析的DNS服务器--system-dns: 使用系统的DNS服务器--traceroute: 对每个主机进行路由追踪
端口扫描相关
-sS/sT/sA/sW/sM: 使用TCP SYN/三次握手/ACK/Window/Maimon方法扫描端口-sU: 进行UDP扫描-sN/sF/sX: TCP扫描时不设置/设置FIN/设置FIN,PSH,URG标志位--scanflags <flags>: 自定义TCP标志位-sI <zombie host[:probeport]>: 完全隐藏自己的前提下进行扫描-sY/sZ: SCTP INIT/COOKIE-ECHO扫描-sO: 扫描目标支持哪些IP协议-b <FTP relay host>: FTP弹跳扫描
端口说明和扫描顺序
-p <port ranges>: 仅扫描指定端口(22/1-65535/80,139)--exclude-ports <port ranges>: 排除指定端口-F: 仅扫描更常见的端口,加快速度-r: 强制按顺序扫描短裤(默认随机)--top-ports <number>: 扫描最常见的<number>个端口--port-ratio <ratio>: 扫描前<ratio>%个最常见的端口
服务和版本探测
-sV: 对开放的端口进行服务和版本探测--version-intensity <level>: 版本探测强度0(轻度)~9(尝试所有探测)--version-light: 与--version-intensity 2相同--version-all: 与--version-intensity 9相同--version-trace: 输出版本探测调试信息
操作系统探测
-O: 启用操作系统探测--osscan-limit: 仅对有开放端口的主机进行操作系统探测--osscan-guess: 尽可能的推测操作系统
脚本扫描
-sC:与--script=default相同--script=<Lua scripts>:<Lua scripts>是用逗号分隔的脚本文件或目录--script-args=<n1=v1,[n2=v2,...]>: 传递给脚本的参数--script-args-file=filename: 从文件读入传递给脚本的参数--script-trace: 输出所有发送/接收到的数据--script-updatedb: 更新脚本数据库--script-help=<Lua scripts>: 输出指定脚本的帮助信息
时间和性能
- 默认计时单位为秒,添加ms(微妙)/m(分钟)/h(小时)后缀可以改变计时单位
-T<0-5>: 设置时间模板(越打越快)--min-hostgroup/max-hostgroup <size>: 并发扫描主机组的数量--min-parallelism/max-parallelism <numprobes>: 调整主机组探测报文的数量--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: 调整超时时间--max-retries <tries>: 端口扫描重试次数--host-timeout <time>: 主机超时时间--scan-delay/--max-scan-delay <time>: 调整多次扫描间等待的间隔--min-rate <number>: 每秒最少发包数--max-rate <number>: 每秒最大发包数
防火墙、IDS躲避和欺骗
-f; --mtu <val>: 尽可能使IP数据包/以太网帧分片-D <decoy1,decoy2[,ME],...>: 用诱饵隐藏扫描-S <IP_Address>: 伪装源IP地址-e <iface>: 指定发包的网卡接口-g/--source-port <portnum>: 指定源端口--proxies <url1,[url2],...>: 指定代理服务器--data <hex string>: 发包时附加指定的payload--data-string <string>: 发包时附加指定的字符串--data-length <num>: 发包时附加随机的数据--ip-options <options>: 指定IP数据包的附加项--ttl <val>: 指定IP数据包的TTL--spoof-mac <mac address/prefix/vendor name>: 伪装你的MAC地址--badsum: 发包时使用一个虚假的校验和
输出
-oN/-oX/-oS/-oG <file>: 输出格式为普通/XML/脚本小子/Grepable的结果文件-oA <basename>: 同时输出普通/XML/Grepable的结果文件-v: 提高详细程度(-vv更详细)-d: 提高调试等级(-dd更高)--reason: 显示端口处于特殊状态的原因--open: 只显示开发(或可能开放)的端口--packet-trace: 输出所有发送及接受的数据包--iflist: 输出主机的接口及路由调试信息--append-output: 输出时不覆盖而是在末尾继续追加--resume <filename>: 从文件恢复一个被中断的扫描--stylesheet <path/URL>: 指定XSL样式,以将xml文件转换为html文件--webxml: 从Nmap.Org参考样式--no-stylesheet: 不适用XSL样式
其他
-6: 启用IPv6扫描-A: 启用操作系统探测,版本探测,脚本扫描及路由追踪--datadir <dirname>: 指定nmap用户数据文件目录--send-eth/--send-ip: 使用原始以太网帧/IP包发送,适用于Windows,Unix--privileged: 假设用户具有全部权限--unprivileged: 假设用户没有操作原始套接字的权限-V: 输出版本号-h: 输出帮助页