nmap参数
目标说明
-iL
从已有的ip列表文件中读取并扫描
-iR+扫描数量
随机选择目标进行扫描
--exclude+ip
不扫描此ip
主机发现
-sL
列出要扫描的ip
-sn
不进行端口扫描
-Pn
将所有主机都默认为在线,跳过主机发现
-PS/PA/PU/PY
使用TCP、SYN/ACK、UDP或SCTP协议去发现端口
-PE/PP/PM
:使用ICMP响应(echo)、时间戳或子网掩码请求来发现探测
-PO
使用IP协议的ping
-n
不做DNS解析
-R
总是做DNS反向解析
--dns-servers
指定自定义的DNS服务器
--system-dns
使用操作系统的DNS
--traceroute
追踪每台主机的跳转路径
扫描技术
-sS/sT/sA/sW/sM
:使用SYN、TCP、全连接Connect()、ACK、Window、Maimon来进行扫描
-sU
UDP扫描
-sN/sF/sX
使用TCP Null(无flag)、FIN、Xmas(FIN+Push+Urgent)扫描
--scanflags +flags
自定义TCP扫描的flags
-sI
僵尸机扫描
-sY/sZ
使用SCTP协议的INIT/COOKIE-ECHO扫描
-sO
进行IP协议扫描
-b <FTP relay host>
:指定FTP中继主机进行FTP反弹扫描
端口说明和扫描规则-p
只扫描指定的端口
--exclude-ports
不对此端口进行扫描
-F
快速模式,扫描比默认端口数量更少的端口
-r
有序地扫描端口而不是随机地扫描
--top-ports <number>
扫描排名指定的数字前几位的最常用的端口
--port-ratio <ratio>
扫描比输入的比例更常用的端口
服务、版本探测
-sV
:探测开启的端口来获取服务、版本信息
--version-intensity <level>
:设置探测服务、版本信息的强度
--version-light
:强度为2的探测强度
--version-all
:强度为9的探测强度
--version-trace
:将扫描的具体过程显示出来
脚本扫描
-sC
:等同于–script=default
--script=<Lua scripts>
:指定使用Lua脚本进行扫描
--script-args=<n1=v1,[n2=v2,...]>
:指定脚本的参数
--script-args-file=filename
:指定提供脚本参数的文件
--script-trace
:显示全部发送和收到的数据
--script-updatedb
:更新脚本的数据库
--script-help=<Lua scripts>
:显示脚本的相关信息
系统探测
-O
:进行系统探测
--osscan-limit
:限制系统探测的目标,如只探测Linux系统
--osscan-guess
:更侵略性地猜测系统
定时和性能
-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>
:设置MTU最大传输单元
-D <decoy1,decoy2[,ME],...>
:伪造多个IP地址和源地址一同发送包,从而隐藏在众多的IP地址中而不易被发现
-S <IP_Address>
:伪造源地址
-e <iface>
:使用指定的接口
-g/--source-port <portnum>
:使用指定的源端口
--proxies <url1,[url2],...>
:指定代理服务器进行扫描
--data <hex string>
:在发送包的数据字段中追加自定义的十六进制字符串
--data-string <string>
:在发送包的数据字段中追加自定义的ASCII字符串
--data-length <num>
:在发送包的数据字段中追加随机的数据
--ip-options <options>
:使用指定的IP选项发送包
--ttl <val>
:设置TTL值
--spoof-mac <mac address/prefix/vendor name>
:伪造源Mac地址
--badsum
:发送伪造TCP/UDP/SCTP校验和Checksum的数据包
输出
-oN/-oX/-oS/-oG <file>
:分别输出正常、XML、s|
杂项
-6
:扫描IPv6的地址
-A
:一次扫描包含系统探测、版本探测、脚本扫描和跟踪扫描
--datadir <dirname>
:指定自定义的nmap数据文件位置
--send-eth/--send-ip
:使用原始以太网帧或IP数据包发送
--privileged
:假设用户有全部权限
--unprivileged
:假设用户缺少原始套接字权限
-V
:输出版本号
-h
:输出帮助信息
一些用法
nmap --iflist(查看本地路由与接口)
nmap -e 08:00:27:47:63:E6 103.10.87.148(指定mac和ip地址)
nmap -T4 -F -n -Pn -D 192.168.1.100,192.168.1.101,192.168.1.102,ME192.168.1.103(地址诱骗)
nmap -sV --spoof-mac 08:00:27:47:63:E6 103.10.87.148(虚假mac地址)
nmap -sV --source-port 900 103.10.87.148 --source-port(指定源端口)
nmap -p1-25,80,512-515,2001,4001,6001,9001 10.20.0.1/16(扫描思科路由器)
nmap -sU -p69 -nvv 192.168.1.253(扫描路由器的ftp协议)
nmap -O -F -n 102.10.87.148(-F快速扫描)
nmap -iR 100000 -sS -PS80 -p 445 -oG nmap.txt(随机产生10万个ip地址,对其445端口进行扫描,扫描结果以greppable(可用grep命令提取)格式输出到nmap.txt)
nmap --script=brute 102.10.87.148(暴力破解)
机翻
Nmap 7.92(https://nmap.org )
用法:nmap[扫描类型][选项]{target specification}
目标规格:
可以传递主机名、IP地址、网络等。
我。nmap。org,微软。com/24192.168.0.1;10.0.0-255.1-254
-iL<inputfilename>:从主机/网络列表输入
-iR<num hosts>:选择随机目标
--exclude<host1[,host2][,host3],…>:排除主机/网络
--excludefile<exclude_file>:从文件中排除列表
主机发现:
-sL:列表扫描-只需列出要扫描的目标
-sn:Ping扫描-禁用端口扫描
-Pn:将所有主机视为联机--跳过主机发现
-PS/PA/PU/PY[portlist]:对给定端口的TCP SYN/ACK、UDP或SCTP发现
-PE/PP/PM:ICMP回显、时间戳和网络掩码请求发现探测
-PO[协议列表]:IP协议Ping
-n/-R:从不进行DNS解析/始终解析[默认值:有时]
--dns-servers <serv1[,serv2],...>:指定自定义DNS服务器
--system-dns:使用操作系统的dns解析程序
--traceroute:跟踪到每个主机的跃点路径
扫描技术:
-sS/sT/sA/sW/sM:TCP-SYN/Connect()/ACK/Window/Maimon扫描
-sU:UDP扫描
-sN/sF/sX:TCP Null、FIN和Xmas扫描
--scanflags<flags>:自定义TCP扫描标志
-sI<僵尸主机[:probeport]>:空闲扫描
-sY/sZ:SCTP初始化/COOKIE-ECHO扫描
-IP协议扫描
-b<FTP中继主机>:FTP跳转扫描
端口规格和扫描顺序:
-p<port ranges>:仅扫描指定的端口
Ex:-p22-p1-65535-p U:53111137,T:21-25,801398080,S:9
--exclude-ports <port ranges>:Exclude the specified ports from scanning --排除端口<端口范围>:从扫描中排除指定的端口
-F:快速模式-扫描的端口数少于默认扫描
-r:连续扫描端口-不要随机化
--top-ports <number>: Scan <number> most common ports --顶部端口<编号>:扫描<编号>最常见的端口
--port-ratio <ratio>: Scan ports more common than <ratio> --端口比率<比率>:扫描比<比率>更常见的端口
服务/版本检测:
-sV:探测打开的端口以确定服务/版本信息
--version-intensity <level>: Set from 0 (light) to 9 (try all probes) --版本强度<level>:从0(灯光)设置为9(尝试所有探头)
--version-light: Limit to most likely probes (intensity 2) --版本灯:限制最可能的探测器(强度2)
--version-all: Try every single probe (intensity 9) --所有版本:尝试每一个探头(强度9)
--version-trace: Show detailed version scan activity (for debugging) --版本跟踪:显示详细的版本扫描活动(用于调试)
脚本扫描:
-sC:相当于--script=default
--script=<Lua scripts>:<Lua scripts>是以逗号分隔的
目录、脚本文件或脚本类别
--script-args=<n1=v1,[n2=v2,...]>:为脚本提供参数
--script args file=filename:在文件中提供NSE脚本args
--script-trace: Show all data sent and received --脚本跟踪:显示发送和接收的所有数据
--script-updatedb: Update the script database. --脚本更新b:更新脚本数据库。
--script-help=<Lua scripts>: Show help about scripts.<Lua scripts> is a comma-separated list of script-files or script-categories. --脚本帮助=<Lua scripts>:显示关于脚本的帮助。<Lua scripts>是以逗号分隔的脚本文件或脚本类别。
操作系统检测:
-O:启用操作系统检测
--osscan limit:将OS检测限制在有希望的目标上
--osscan-guess :更积极地猜测操作系统
时间和性能:
所需时间的选项以秒为单位,或附加“ms”(毫秒),
“s”(秒)、“m”(分钟)或“h”(小时)的值(例如30m)。
-T<0-5>:设置计时模板(越高速度越快)
--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes --最小主机组/最大主机组<大小>:并行主机扫描组大小
--min-parallelism/max-parallelism <numprobes>: Probe parallelization --最小并行度/最大并行度<numprobes>:探针并行化
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies probe round trip time. --最小rtt超时/最大rtt超时/初始rtt超时<时间>:指定
探测往返时间。
--max-retries <tries>: Caps number of port scan probe retransmissions. --最大重试次数:限制端口扫描探针重新传输的次数。
--host-timeout <time>: Give up on target after this long --主机超时<时间>:在这么长时间后放弃目标
--scan-delay/--max-scan-delay <time>: Adjust delay between probes --扫描延迟/--最大扫描延迟<时间>:调整探头之间的延迟
--min-rate <number>: Send packets no slower than <number> per second --最小速率<number>:每秒发送数据包的速度不低于<number>
--max-rate <number>: Send packets no faster than <number> per second --最大速率<number>:每秒发送数据包的速度不超过<number>
防火墙/IDS规避和欺骗:
-f--mtu<val>:片段数据包(可选带给定mtu)
-D<decoy1,decoy2[我],…>:用诱饵掩盖扫描
-S<IP_地址>:欺骗源地址
-e<iface>:使用指定的接口
-g/--source-port <portnum>:使用给定的端口号
--proxies <url1,[url2],...>:通过HTTP/SOCKS4代理中继连接
--data<hex string>:向发送的数据包附加自定义负载
--data-string <string>: Append a custom ASCII string to sent packets --数据字符串<字符串>:将自定义ASCII字符串附加到发送的数据包中
--data-length <num>: Append random data to sent packets --数据长度<num>:将随机数据附加到发送的数据包中
--ip-options <options>: Send packets with specified ip options --ip选项<选项>:使用指定的ip选项发送数据包
--ttl<val>:设置IP生存时间字段
--spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address --欺骗mac<mac地址/前缀/供应商名称>:欺骗你的mac地址
--badsum:使用伪TCP/UDP/SCTP校验和发送数据包
输出:
-oN/-oX/-oS/-oG<file>:正常、XML、s |<cript kIddi3、和Grepable格式,分别设置为给定的文件名。
-oA<basename>:同时以三种主要格式输出:分别是gnmap 、
-v:增加详细程度(使用-vv或更高级别以获得更大效果)
-d:提高调试级别(使用-dd或更多以获得更大的效果)
--reason:显示端口处于特定状态的原因
--open:仅显示打开(或可能打开)的端口
--packet-trace:显示发送和接收的所有数据包
--iflist:打印主机接口和路由(用于调试)
--append-output:追加到指定的输出文件,而不是删除指定的输出文件
--resume<filename>:恢复中止的扫描
--noninteractive:通过键盘禁用运行时交互
--stylesheet<path/URL>:将XML输出转换为HTML的XSL样式表
--webxml:来自Nmap的参考样式表。Org获取更具可移植性的XML
--no-stylesheet:防止XSL样式表与XML输出关联
杂项:
-6:启用IPv6扫描
-A:启用操作系统检测、版本检测、脚本扫描和跟踪路由
--datadir<dirname>:指定自定义Nmap数据文件位置
--send-eth/--send-ip: Send using raw ethernet frames or IP packets --发送eth/--发送ip:使用原始以太网帧或ip数据包发送
--privileged:假设用户拥有完全特权
--unprivileged:假设用户缺乏原始套接字权限
-V:打印版本号
-h:打印此帮助摘要页面。
例如:
nmap-v-A扫描我。nmap。组织
nmap-v-sn 192.168.0.0/16 10.0.0.0/8
nmap-v-iR 10000-Pn-P80
请参阅手册页(https://nmap.org/book/man.html)查看更多选项和示例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix