nmap命令行使用方式详解


用法

nmap [Scan Type(s)] [Options] {target specification}

指定目标

可以是主机名,IP地址,网络等,例如:scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254

 

可使用参数

参数名称 含义 备注
目标指定参数    
-iL <inputfilename> 从主机或者网络列表中输入  
-iR <num hosts> 选择随机目标  
--exclude <host1,host2,...> 扩展主机或者网络  
--excludefile <exclude_file> 从文件列表扩展  
主机发现参数    
-sL 列表扫描,简单地扫描目标列表  
-sn Ping扫描,不启用端口扫描  
-Pn 对待所有主机为在线,跳过主机发现  
-PS/PA/PU/PY[portlist] 对指定端口进行TCP SYN/ACK, UDP 或者SCTP扫描  
-PE/PP/PM ICMP输出,时间戳,和网络请求发现探针  
-PO[protocol list] IP协议ping  
-n/-R 从不多DNS解析/常解析 默认:有时(sometimes)
--dns-servers <serv1[,serv2],...> 指定自定义DNS服务器  
--system-dns 使用系统的DNS解析器  
--traceroute 跟踪到每台机器的跳数(hop)  
扫描技术参数    
-sS/sT/sA/sW/sM TCP SYN/Connect()/ACK/Window/Maimon扫描  
-sU UDP扫描  
--scanflags <flags> 自定义TCP扫描标签  
-sI <zombie host[:probeport]> 空闲扫描  
-sY/sZ SCTP INIT/COOKIE-ECHO扫描  
-sO IP协议扫描  
-b <FTP relay host> FTP反馈数据扫描  
端口指定和扫描顺序参数 例如:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9  
-p <port ranges> 仅扫描指定的端口  
--exclude-ports <port ranges> 从指定的扫描端口扩展  
-F 快速扫描模式,与默认相比, 仅扫描少数端口  
-r 连续扫描端口-不要随机化  
--top-ports <number> 扫描指定数量的多数通用端口  
--port-ratio <ratio> 扫默更多的通用端口  
服务**/版本检测参数**    
-sV 探针打开的端口判断服务/版本信息  
--version-intensity <level> 从0-9设置扫描深度 0 (light) ,9 (try all probes)
--version-light 限制为最可能的探针 intensity 2
--version-all 尝试每一个单独的探针 intensity 9
--version-trace 显示详细的版本信息,用于调试  
脚本扫描参数    
-sC 等价于使用 --script=default  
--script=<Lua scripts> <Lua scripts>是目录、脚本文件或脚本类别的逗号分隔列表  
--script-args=<n1=v1,[n2=v2,...]> 为脚本提供参数  
--script-args-file=filename 在文件中提供NSE脚本参数  
--script-trace 显示所有发送和接收的数据  
--script-updatedb 更新脚本数据库  
--script-help=<Lua scripts> 显示脚本的帮助信息  
操作系统检测参数    
-O 启用操作系统检测  
--osscan-limit 对可能的目标限制操作系统检测  
--osscan-guess 具有攻击性的猜测操作系统  
时间和性能参数 <time>为秒,其他可用:'ms' (milliseconds), 's' (seconds), 'm' (minutes), or 'h' (hours)  
-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> 发包数量不慢于<number>每秒  
--max-rate <number> 发包数量不快于<number>每秒  
防火墙/IDS规避和欺骗参数    
-f; --mtu <val> 片段数据包(fragment packets)(可选w/给定的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存活(time-to-live)字段  
--spoof-mac <mac address/prefix/vendor name> 伪装MAC地址  
--badsum 使用伪造的TCP/UDP/SCTP校验和发送数据包  
输出参数    
-oN/-oX/-oS/-oG <file> 将normal、XML、s |<rIpt kIddi3和greable格式的扫描输出到给定的文件名。  
-oA <basename> 同时输出三种主要格式  
-v 增加详细级别(使用-vv或更多以获得更大的效果)  
-d 增加调试级别(使用-dd或更多以获得更大的效果)  
--reason 显示端口处于特定状态的原因  
--open 仅显示打开(或可能打开)的端口  
--packet-trace 显示所有发送和接收的数据包  
--iflist 打印主机接口和路由(用于调试)  
--append-output 附加到指定的输出文件,而不是删除指定的输出文件  
--resume <filename> 恢复中止的扫描  
--stylesheet <path/URL> 将XML输出转换为HTML的XSL样式表  
--webxml 引用样式表来自Nmap.Org网站对于更可移植的XML  
--no-stylesheet 阻止将XSL样式表与XML输出关联  
其他设置参数    
-6 启用IPV6扫描  
-A 启用操作系统检测、版本检测、脚本扫描和traceroute  
--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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM