Nmap的指令

Nmap 7.94(https://nmap.org)

用法: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>:选择随机目标

--排除<host1[,host2][,host3],…>:排除主机/网络

--excludefile<exclude_file>:从文件中排除列表

主机发现:

-sL:列表扫描

列表扫描是主机发现的退化形式,它仅仅列出指定网络上的每台主机, 不发送任何报文到目标主机。

-sP:Ping扫描

该选项告诉Nmap仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。 没有进一步的测试 (如端口扫描或者操作系统探测)。 这比列表扫描更积极,常常用于 和列表扫描相同的目的。它可以得到些许目标网络的信息而不被特别注意到。 对于攻击者来说,了解多少主机正在运行比列表扫描提供的一列IP和主机名往往更有价值。

系统管理员往往也很喜欢这个选项。 它可以很方便地得出 网络上有多少机器正在运行或者监视服务器是否正常运行。常常有人称它为 地毯式ping,它比ping广播地址更可靠,因为许多主机对广播请求不响应。

-sN:Null扫描

是通过发送非常规的TCP通信数据包对计算机进行探测。 很多情况下Null扫描与Xmas扫描恰好相反,因为Null扫描不会标记任何数据包,若目标主机的相应端口是关闭的,会响应一个RST数据包,若目标端口是开放的则不会响应任何信息。

-Pn:将所有主机视为联机--跳过主机发现

-PS/PA/PU/PY[portlist]:到给定端口的TCP SYN/ACK、UDP或SCTP发现

-PE/PP/PM:ICMP回显、时间戳和网络掩码请求发现探测

-P0(无ping)

该选项完全跳过Nmap发现阶段。 通常Nmap在进行高强度的扫描时用它确定正在运行的机器。 默认情况下,Nmap只对正在运行的主机进行高强度的探测如 端口扫描,版本探测,或者操作系统探测。用-P0禁止 主机发现会使Nmap对每一个指定的目标IP地址 进行所要求的扫描。所以如果在命令行指定一个B类目标地址空间(/16), 所有 65,536 个IP地址都会被扫描。 -P0的第二个字符是数字0而不是字母O。 和列表扫描一样,跳过正常的主机发现,但不是打印一个目标列表, 而是继续执行所要求的功能,就好像每个IP都是活动的。

-n/-R:从不进行DNS解析/始终解析[默认值:有时]

--dns服务器<serv1[,serv2],…>:指定自定义DNS服务器

--系统dns:使用操作系统的dns解析程序

--traceroute:跟踪每个主机的跃点路径

扫描技术:

-sS:SYN扫描,使用最频繁,安全,快

-sU:UDP扫描,慢,可得到有价值的服务器程序

-sI<僵尸主机〔:probeport〕>:空闲扫描

-sY/sZ:STP INIT/COOKIE-ECHO扫描

-sO:IP协议扫描

-b<FTP中继主机>:FTP反弹扫描

端口规格和扫描顺序:

-p<端口范围>:仅扫描指定的端口

例如:-p22-p1-65535-第53111137页,电话:21-25,801398080,传真:9

--排除端口<端口范围>:从扫描中排除指定的端口

-F: 快速模式-扫描比默认扫描更少的端口

-r: 按顺序扫描端口-不要随机化

--顶部端口<number>:扫描<number>最常见的端口

--端口比<ratio>:扫描端口比<ratio>更常见

服务/版本检测:

-sV:探测打开的端口以确定服务/版本信息

--版本强度<level>:从0(光)设置为9(尝试所有探针)

--版本光:限制为最可能的探针(强度2)

--版本all:尝试每一个探针(强度9)

--版本跟踪:显示详细的版本扫描活动(用于调试)

脚本扫描:

-sC<scirptfile>:使用脚本进行扫描,耗时长

--script=<Lua-scripts>:<Lua-scripts>是一个逗号分隔的

目录、脚本文件或脚本类别

--脚本参数=<n1=v1,[n2=v2,…]>:为脚本提供参数

--脚本参数file=filename:在文件中提供NSE脚本参数

--脚本跟踪:显示发送和接收的所有数据

--script updatedb:更新脚本数据库。

--script help=<Lua scripts>:显示有关脚本的帮助。

<Lua脚本>是一个逗号分隔的脚本文件列表,或者

脚本类别。

OS检测:

-O: 启用操作系统检测

--osscan limit:将OS检测限制在有希望的目标

--osscan猜测:更积极地猜测操作系统

时间和性能:

耗时<time>的选项以秒为单位,或附加“ms”(毫秒),

“s”(秒)、“m”(分钟)或“h”(小时)的值(例如30m)。

-T<0-5>:设置计时模板(越高越快)

--最小主机组/最大主机组<size>:并行主机扫描组大小

--最小并行度/最大并行度<numprobes>:探针并行化

--min rtt timeout/max rtt timeout/initial rtt timeoff<time>:指定

探测往返时间。

--max retries<trys>:限制端口扫描探测重新传输的次数。

--主机超时<time>:在这么长时间后放弃目标

--扫描延迟/--最大扫描延迟<time>:调整探头之间的延迟

--最小速率<number>:每秒发送数据包的速度不低于<number>

--最大速率<number>:每秒发送数据包的速度不超过<number>

防火墙/IDS规避和欺骗:

-f:使用小数据包发送,避免被识别出

-D<decoy1,decoy2[,ME],…>:用诱饵掩盖扫描

-S<IP_Address>:假脱机源地址

-e<iface>:使用指定的接口

-g/--源端口<portnum>:使用给定的端口号

--代理<url1,[url2],…>:通过HTTP/SOCKS4代理中继连接

--data<hex-string>:将自定义负载附加到发送的数据包

--data string<string>:将自定义ASCII字符串附加到发送的数据包

--data length<num>:将随机数据附加到发送的数据包

--ip选项<options>:使用指定的ip选项发送数据包

--ttl<val>:设置IP生存时间字段

--欺骗mac<mac地址/前缀/供应商名称>:欺骗你的mac地址

--badsum:发送带有伪造TCP/UDP/SCTP校验和的数据包

输出:

-oN/-oX/-oS/-oG<file>:正常输出扫描,XML,s|<rIpt kIddi3,

和Grepable格式。

-oA<basename>:同时以三种主要格式输出

-v: 增加详细程度(使用-vv或更高效果)

-d: 提高调试级别(使用-dd或更多以获得更大效果)

--原因:显示端口处于特定状态的原因

--open:仅显示打开的(或可能打开的)端口

--数据包跟踪:显示发送和接收的所有数据包

--iflist:打印主机接口和路由(用于调试)

--append output:附加到指定的输出文件,而不是清除指定的输出

--resume<filename>:恢复中止的扫描

--非交互:禁用通过键盘进行的运行时交互

--stylesheet<path/URL>:将XML输出转换为HTML的XSL样式表

--webxml:Nmap中的引用样式表。组织以获得更可移植的XML

--无样式表:防止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

请参阅手册页(https://nmap.org/book/man.html)有关更多选项和示例

posted @ 2023-11-24 19:11  small黄  阅读(28)  评论(0编辑  收藏  举报