黑客接单网:Nmap作为当代渗透测试公认的神器之一,它在主机发现,服务扫描,弱点扫描等方面有很大的优点。每个渗透测试者都应该熟记它的用法,这是作者根据官方提供的nmap使用参数进行的相关翻译,其中存在作者的一些主观思想。
Nmap用法:
语法: nmap [Scan Type(s)] [Options] {目标}
一、目标规格要求:
可以传递主机名,IP地址, *** 等.
例如: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
使用参数
-iL <输入文件目录>:从文件中导出主机列表/networks
-iR <num hosts>: 选择随机的目标
--exclude <host1[,host2][,host3],...>: 排除主机/networks
--excludefile <exclude_file>:从文件中获取排除的主机列表
二、主机发现:
使用参数
-sL: 列表扫描 - 只列出要扫描的目标
-sn: Ping扫描 - 禁用端口扫描(主机防火墙如果禁用ping,此方式无效)
-Pn: 将所有主机视为在线状态,跳过主机发现阶段
-PS/PA/PU/PY[端口列表]: TCP协议的SYN / ACK,UDP或SCTP发现到给定端口
-PE/PP/PM: ICMP echo,timestamp和netmask请求发现探测
-PO[协议清单]: IP协议Ping
-n/-R: 不进行DNS解析[默认:有时]
--dns-servers <serv1[,serv2],...>: 自行指定DNS服务器
--system-dns: 使用OS的DNS解析器
--traceroute: 跟踪每个主机的跳跃路径
三、扫描技术:
-sS/sT/sA/sW/sM: T CP SYN / Connect()/ ACK / Window / Maimon扫描
-sU: UDP 扫描
-sN/sF/sX: TCP Null, FIN, 和 Xmas 扫描
--scanflags <flags>:自定义TCP扫描标志 -sI <zombie host[:probeport]>: Idle scan
-sY/sZ: SCTP INIT / COOKIE-ECHO扫描
-sO: IP协议扫描
-b <FTP 中继主机>: FTP反弹扫描端口
四、规格和扫描令:
-p <port ranges>: 仅扫描特定端口
例子(example): -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
--exclude-ports <端口范围>:从扫描中排除指定的端口
-F: 快速模式(比默认扫描扫描更少的端口)
-r: 连续扫描端口(不随机扫描)
--top-ports <number>:扫描<number>最常见的端口
--port-ratio <ratio>:扫描端口比<ratio>更常见
五、服务/版本检测:
-sV: 探测开放端口以确定服务/版本信息
--version-intensity <level>:设置从0到9 的扫描强度(尝试所有探测)
--version-light: 限于接近的版本可能性(二级强度)
--version-all:尝试每一个版本可能性 (九级强度)
--version-trace: 显示详细版本扫描活动(用于调试)
六、脚本扫描:
-sC: 等同于 --script=default
--script=<Lua scripts>: < Lua脚本>(lua为脚本语言)
--script-args=<n1=v1,[n2=v2,...]>:为脚本提供参数
--script-args-file=filename: 在文件中提供NSE脚本args
--script-trace: 显示发送和接收的所有数据
--script-updatedb 更新脚本数据库
--script-help=<Lua 脚本>: 显示脚本的帮助信息
七、操作系统检测:
-O: 启用OS检测
--osscan-limit: 将OS检测限制为有希望的目标
--osscan-guess: 更多的猜测操作系统
八、时间和性能控制:
采用<time>的选项以秒为单位,或追加'ms'(毫秒),
该值的's'(秒),'m'(分钟)或'h'(小时)(例如30m)。
-T<0-5>:设置时序模板(数值越高,速度越快)
--min-hostgroup/max-hostgroup <size>:并行主机扫描组大小 --min-paralleli *** /max-paralleli *** <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>:片段包(可选择具有给定的MTU) -D <decoy1,decoy2[,ME],...>: 用诱饵披露扫描
-S <IP_Address>:欺骗源地址
-e <iface>:使用指定的接口
-g/--source-port <portnum>:使用指定的端口号
--proxies <url1,[url2],...>: 通过HTTP / SOCKS4 *** 中继连接 --data <hex string>:为发送的数据包附加自定义负载
--data-string <string>:为发送的数据包附加自定义ASCII字符串
--data-length <num>:将随机数据附加到已发送的数据包 --ip-options <options>:使用指定的ip选项发送数据包
--ttl <val>:设置IP生存时间字段
--spoof-mac <mac 地址/前缀/供应商名称>:欺骗你的MAC地址
OUTPUT:
-oN/-oX/-oS/-oG <file>:输出扫描正常,XML,s | <rIpt kIddi3,和Grepable格式,分别为给定的文件名。
-oA <basename>:一次输出三种主要格式
-v: 增加详细程度(使用-vv或更高以获得更好的效果)
-d: 提高调试级别(使用-dd或更多以获得更好的效果) --reason: 显示端口处于特定状态的原因
--open: 仅显示打开(或可能打开)的端口
--packet-trace: 显示发送和接收的所有数据包
--iflist: 打印主机接口和路由(用于调试)
--append-output: 附加到而不是clobber指定的输出文件 --resume <filename>:恢复中止扫描
--stylesheet <path/URL>: XSL样式表将XML输出转换为HTML
--webxml: 从Nmap.Org引用样式表以获得更多可移植XML
--no-stylesheet: 防止与XML输出相关联的XSL样式表
十、其他:
-6: 启用IPv6扫描
-A: 启用操作系统检测,版本检测,脚本扫描和跟踪路由
--datadir <dirname>:指定自定义Nmap数据文件位置
--send-eth/--send-ip: 使用原始以太网帧或IP数据包发送
--privileged: 视为用户具有更高权限
--unprivileged: 视为用户缺少原始套接字权限
-V: 打印版本号
-h: 打印此帮助摘要页面。
例子:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80