渗透测试工具 nmap 端口扫描 - 使用详解

渗透测试工具 nmap 

官网:https://nmap.org/

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

用于扫描指定端口是否开放,在 '-p' 后输入指定的端口,以英文","进行拼接多个指定端口。

  • nmap -p 80,3306,22,23,443 {IP} :指定端口扫描

  • nmap -p 1-65535 {IP}:全面扫描,计算机端口共65535个。该命令将会从1-65535 个端口进行扫描,查找开放的端口: -p 1-65535

  • nmap -p- {IP}:另一种全面扫描(缩减版): -p-

查看帮助文档:-h

有啥能说的,看看文档,获取更多工具使用详情介绍

  • nmap -h

高级穿透防火墙扫描: -sA

用于穿透防火墙,遇到禁止Ping的网站使用,与PN类似。

  • nmap -sA 127.0.0.1

扫描客户端存活主机:-sP

Ping扫描:-sn

Ping扫描-禁用端口扫描

  • nmap -sn ./ips.txt

指定扫描的强度:-T<0-5>

参数-T用于指定扫描的时序,即扫描的强度。其中,-T<0-5>用于指定扫描强度范围在0到5之间。不同的数字代表不同的扫描强度,数字越大表示扫描强度越高,同时也会对目标主机产生更大的干扰。

  • nmap -T0 {IP}:最弱的扫描强度,对目标主机干扰最小。

  • nmap -T4 {IP}:最强的扫描强度,对目标主机干扰最大。

TCP connect 扫描: -sT

即tcp连接形式进行扫描,通常会在目标主机的日志中存在大批量请求以及错误日志(留下痕迹)。

  • nmap -sT 127.0.0.1

UDP扫描:-sU

  • nmap -sU -p 80 127.0.0.1

联机模式: -Pn

将所有主机视为联机,跳过主机发现

  • nmap -Pn ./ips.txt

穿透防火墙探测: -PN

部分系统禁止ping导致nmap部分选项无法执行,则遇到禁Ping的可以加上 '-PN' 绕过防火墙进行扫描探测

  • nmap -PN -A 127.0.0.1

探测端口版本: -sV

  • nmap -sV 127.0.0.1

显示扫描信息: -vv/-v

  • nmap p 80,3306,22,23,443 -vv {IP}

打印版本号:-V(大写英文字母:V)

该参数用于打印namp版本信息,这个选项可以帮助网络安全人员查看当前使用的nmap版本

  • nmap -V

写入报告:-oN/-oX/-oS/-oG < file >

参数-oN、-oX、-oS和-oG用于指定将扫描结果保存到文件的格式。这些参数可以帮助网络安全人员在不将扫描结果显示在屏幕上或将其保存到屏幕截图文件的情况下,将扫描结果保存到指定的文件中。

  • nmap -oN output.nmap {IP}:将扫描结果保存到名为output.nmap的文件中,而不将其显示在屏幕上。

  • nmap -oX output.xml {IP}:将扫描结果保存到名为output.xml的文件中,使用XML格式表示。

  • nmap -oS output.svg {IP}:将扫描结果保存到名为output.svg的文件中,使用SVG格式表示。

  • nmap -oG output.gnp {IP}:将扫描结果保存到名为output.gnp的文件中,使用GnuPlot格式表示。

反向解析域名/IP:-n/-R

参数-n代表不反向解析域名,而-R代表需要反向解析域名。

  • nmap -R 127.0.0.1

探测主机操作系统:-O

全面探测:-A

  • nmap -A 127.0.0.1

探测目标主机IP协议:-sO

用于判断目标主机上使用的是哪些协议,同时探测目标主机支持哪些IP协议。

  • nmap -sO {IP}

读取主机列表: -iL <xxx.txt>

有时候并非一个主机IP探测,也可以有多个主机一起探测,使用'-iL'进行批量探测,多个ip以换行形式写入TXT文档中。

  • nmap -iL ips.txt

只显示打开的端口:--open

用于在扫描结束后只返回打开的端口。

  • nmap --open {IP}

启用FTP反弹扫描:-b

用于启用FTP反弹扫描。这是一种借助FTP特性进行的隐身扫描方式。通过与FTP服务器建立连接,来实现隐身扫描的目的

  • nmap -b {IP}

空闲扫描:-sI

用于进行空闲扫描,也被称为闲置扫描。这种类型的扫描通过发送一个带有随机源地址和源端口的TCP数据包,然后等待目标主机的响应,来探测目标主机上是否有开放端口。

  • nmap -sI < source_address > {IP}:使用指定的源地址进行空闲扫描。

  • nmap -sI < random_port > {IP}:使用随机端口进行空闲扫描。

半开式扫描: -sS/sT/sA/sW/sM

半开扫描,很少有系统能够把这记入系统日志。不过,需要root权限。

半开扫描(half-open scanning),即TCP SYN scan。它利用了TCP连接建立三次握手的第一步,并且没有建立一个完整的TCP连接。实现办法是向远端主机某端口发送一个只有SYN标志位的TCP报文段,如果主机反馈一个SYN|ACK数据包,那么,这个主机正在监听该端口,如果反馈的是RST数据包,说明,主机没有监听该端口。在X-Scanner扫描工具上就有SYN的选择项。

  • nmap -sS -p 80,3306,22,23,443 {IP}

指定扫描源:-S <IP_Address>

用于指定扫描的源IP地址。这个参数可以帮助网络安全人员在不使用自己的IP地址进行扫描的情况下,隐藏自己的位置。

  • nmap -S 192.168.0.1 {IP}:使用192.168.0.1作为扫描源IP地址,扫描目标主机的开放端口和相关信息。

指定脚本扫描:--script=< Lua scripts >

用于指定脚本扫描,支持泛式写法,即,如使用http所有脚本则可以使用http-* 进行脚本扫描

  • nmap --script=http-* {IP}

查看指定脚本帮助:--script-help=< Lua scripts >

用于查看脚本使用说明。< Lua scripts >是一个以逗号分隔的脚本文件列表,或者脚本类别。

  • nmap --script-help=http-php-version

增加端口扫描解释:--reason

用于指定在执行扫描时,解释为什么扫描目标开放了某个特定的端口。

  • nmap -p 80 --reason {IP}:扫描目标主机的80端口,并解释为什么该端口被认为是开放的。

指定代理服务器地址:--prxies <url1,[url2],...>

用于指定代理服务器地址。这个参数可以帮助网络安全人员在不直接连接目标主机的情况下,进行网络扫描和漏洞探测。同时,使用代理服务器还可以绕过一些防火墙和网络限制。

协议扫描:-PO[协议列表]

指定要扫描的协议列表,它允许你扫描目标主机上开放的协议。这个参数可以帮助网络安全人员发现目标主机上开放的协议和端口,从而发现可能存在的漏洞或弱点。

  • nmap -PO {IP}:扫描目标主机上所有的协议(除了ICMP)。

  • nmap -PO 1/3/5:扫描目标主机上的TCP、UDP和ICMP协议。

  • nmap -PO 7/9:扫描目标主机上的SNMP和SMTP协议。

指定扫描源端口:-g/--source-port < portnum >

参数-g或--source-port用于指定扫描时使用的源端口。这个参数可以帮助网络安全人员在不使用随机源端口的情况下,隐藏自己的位置并减少被发现的风险。

  • nmap -g 80 {IP}:使用80作为源端口,扫描目标主机的开放端口和相关信息。

指定网络接口: -e < iface >

参数-e用于指定要使用的网络接口。这个参数可以帮助网络安全人员针对特定的网络接口进行扫描,以便更好地理解目标主机的网络结构和探测可能存在的漏洞或弱点。

  • nmap -e eth0 {IP}:使用eth0作为网络接口,扫描目标主机的开放端口和相关信息。

启用IPv6扫描:-6

  • nmap -6 {IP}

指定发送数据包协议:--send-eth/--send-ip

参数--send-eth和--send-ip选项用于指定发送数据包时使用的协议。

  • --send-eth选项用于发送以太网数据包,它使用IPv4和ARP协议。

  • --send-ip选项用于发送IPv4数据包,它只使用IPv4协议。

  • nmap --send-eth<target>:发送以太网数据包给目标主机。

  • nmap --send-ip<target>:发送IPv4数据包给目标主机。

这些选项可以帮助网络安全人员在不使用IPv6的情况下,仅使用IPv4或以太网进行网络扫描和数据包发送。这在仅支持IPv4或以太网的环境中非常有用。

以最高特权扫描:--privileged

参数--privileged用于指定扫描的目标主机是否具有特权。

  • nmap --privileged {IP}:扫描目标主机是否具有特权

这个选项可以帮助网络安全人员在不具有特权的情况下,检查目标主机是否具有特权访问权限。这在渗透测试和漏洞评估中非常有用,因为它可以帮助确定目标主机是否易受攻击或存在漏洞。

非特权扫描:--unprivileged

用于指定扫描的目标主机是否为非特权。

  • nmap --unprivileged {IP}:扫描目标主机是否为非特权。

这个选项可以帮助网络安全人员在不具有特权的情况下,检查目标主机是否具有特权访问权限。这在渗透测试和漏洞评估中非常有用,因为它可以帮助确定目标主机是否易受攻击或存在漏洞。

限制操作系统检测:--osscan-limit

用于限制操作系统检测的范围。这个参数可以帮助网络安全人员更准确地探测目标主机的操作系统类型,并提供更详细的信息.同时,这种方式也可以减少扫描时间,提高扫描效率。

  • nmap --osscan-limit {IP}:限制操作系统检测的范围,提高探测准确度。

数据包追踪:--packet-trace

用于显示扫描数据包情况,并实时输出到命令行上。这个参数可以帮助网络安全人员获取到数据包扫描详情信息,便于调试。

  • nmap --packet-trace {IP}:显示扫描数据包情况

系统类型模糊猜解:--osscan-guess

用于启用操作系统类型模糊猜解。这个参数可以帮助网络安全人员更准确地确定目标主机的操作系统类型,并提供更详细的信息。

但是,这种方式也存在一定的风险,如果目标主机上运行的是非常罕见的操作系统,可能会引起误判。因此,这种方式适用于对目标主机进行更深入的扫描和分析。

  • nmap --osscan-guess {IP}:启用操作系统类型模糊猜解,提高探测准确度

显示追踪路径/路由信息:--traceroute

显示追踪到目标的路径。这个参数可以帮助网络安全人员了解目标主机的网络路径和路由信息,以便更好地理解目标主机的网络结构和探测目标主机的开放端口

  • nmap --traceroute {IP}:显示追踪到目标IP地址的路径。

指定传输包数据: --data <十六进制字符串>

用于指定要发送的数据。这个参数可以帮助网络安全人员在不使用默认数据的情况下,进行定制化的漏洞探测,提高漏洞发现的准确性和效率。

  • nmap --data A1B2C3D4E5F6 {IP}:指定要发送的数据为十六进制字符串A1B2C3D4E5F6,扫描目标主机的开放端口和相关信息。

指定传输字符串:--data-string < string >

参数--data-string用于向目标主机发送一个特定的字符串。这个参数可以帮助网络安全人员在不使用默认数据的情况下,进行定制化的漏洞探测,提高漏洞发现的准确性和效率。

  • nmap --data-string “GET /cgi-bin/printenv.pl HTTP/1.0” {IP}:向目标主机发送一个特定的字符串“GET /cgi-bin/printenv.pl HTTP/1.0”,扫描目标主机的开放端口和相关信息。

指定发送包长度: --data-length

参数--data-length用于指定发送数据包的长度。这个参数可以帮助网络安全人员控制数据包的长度,以便更好地理解目标主机的网络结构和探测可能存在的漏洞或弱点。同时,控制数据包长度也可以减少对目标主机的干扰,提高扫描效率。

  • nmap --data-length 100 {IP}:指定发送数据包的长度为100字节,扫描目标主机的开放端口和相关信息。

指定TTL:--ttl < val >

在nmap中,参数--ttl用于指定IP头部中Time To Live(TTL)字段的值。这个参数可以帮助网络安全人员在不使用默认TTL值的情况下,进行定制化的网络探测。

  • nmap --ttl 30 {IP}:指定IP头部中TTL字段的值为30,扫描目标主机的开放端口和相关信息。

这个参数可以帮助网络安全人员根据不同的扫描需求选择不同的TTL值,并提供更精确的扫描结果。同时,控制TTL值也可以减少对目标主机的干扰,提高扫描效率。

伪装mac地址 --spoof-mac <mac地址/前缀/供应商名称>

参数--spoof-mac用于伪装扫描的源MAC地址。这个参数可以帮助网络安全人员在不使用自己的MAC地址进行扫描的情况下,隐藏自己的位置并减少被发现的风险。同时,伪装MAC地址还可以绕过一些基于MAC地址过滤的网络安全措施。

  • nmap --spoof-mac 00:11:22:33:44:55 {IP}:伪装源MAC地址为00:11:22:33:44:55,扫描目标主机的开放端口和相关信息。

TCP/UDP/SCTP校验和发送数据包: --badsum

用于为数据包生成无效的校验和任何真正的TCP/IP堆栈都会丢弃此数据包,但是,防火墙可能会自动响应,而无需检查数据包的校验和。因此,此开关可用于确定防火墙/IDS的存在。

  • nmap --badsum {IP}:为数据包生成无效的校验和

扫描之前无需ping: -P0 (数字:0(零))

  • nmap -P0 127.0.0.1

列出扫描目标:-sL

简单地列出要扫描的目标, 要注意,使用 '-sL' 参数, 不能使用-F(快速扫描)或-p(显式端口选择)参数。

  • nmap -sL -iL ./ips.txt

脚本参数: --script-args=<n1=v1,[n2=v2,...]>

该参数: --script-args=<n1=v1,[n2=v2,...]> 用于脚本交互的参数,多个参数以英文逗号","关联。

  • nmap --script=xxx --script-args=n1=1,n2=2 {IP}: 脚本参数

这个参数可以帮助网络安全人员提供使用脚本参数

指定信息探测强度:--version-intensity

用于指定要探测的版本信息强度。这个参数可以帮助网络安全人员更详细地了解目标主机上开放端口的相关版本信息,从而发现可能存在的漏洞或弱点。

  • nmap --version-intensity 7 {IP}:高强度探测目标主机上开放端口的版本信息

  • nmap --version-intensity 3 {IP}:low强度探测目标主机上开放端口的版本信息。

这个参数可以帮助网络安全人员根据不同的扫描需求选择不同的版本信息强度,并提供更详细的版本信息。

显示探测信息: --version-trace

用于显示详细的版本扫描活动,可以帮助网络安全人员提供运行活动信息,一般用于调试

  • nmap --version-trace {IP}:显示详细的版本扫描活动

默认脚本扫描:-sC/--script=default

该参数-sC 用于使用默认脚本进行扫描,同--script=default相同,

  • nmap -sC {IP}:使用默认脚本进行扫描

使用SCTP INIT/COOKIE-ECHO扫描: -sY/sZ

参数-sY/sZ用于使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。这种类型的扫描通过发送一个SCTP INIT数据包来探测目标主机上是否存在开放的SCTP端口,如果目标主机响应一个SCTP COOKIE-ECHO数据包,则说明目标主机上存在开放的SCTP端口。

  • nmap -sY {IP}:使用SCTP INIT扫描来探测目标主机上是否存在开放的SCTP端口。

  • nmap -sZ {IP}:使用SCTP COOKIE-ECHO扫描来探测目标主机上是否存在开放的SCTP端口。

这个参数可以帮助网络安全人员发现目标主机上开放的SCTP端口和可能存在的漏洞或弱点

指定IP选项字段 --ip-options < options >

参数--ip-options用于指定IP选项字段的值。这个参数可以帮助网络安全人员在不使用默认IP选项的情况下,进行定制化的漏洞探测,提高漏洞发现的准确性和效率。

  • nmap --ip-options “DO NOT Fragment” {IP}:向目标主机发送一个特定的IP选项“DO NOT Fragment”,扫描目标主机的开放端口和相关信息。

随机IP扫描:-iR < num hosts >

选择从多个ip中进行扫描目标

  • nmap -iL C:\ips.txt -F -T4 -iR 1

排除扫描主机: --exclude <host1 [,host2] [,host3],...>

排除对象是 主机/网络, 多个以英文逗号 "," 分开

  • nmap -iL ./ips.txt -F -T4 --exclude 127.0.0.1

从文件列表中排除扫描主机:--excludefile <exclude_file>

从文件中排除列表,与'--exclude'类似,区别于该参数排除的对象是文件,而'--excludefile'排除的是IP,

  • nmap -iL ./ips.txt -F -T4 --excludefile ./ips.txt

指扫描的端口:-PS/PA/PU/PY [portlist]

-PS/PA/PU/PY是NMAP的四种不同的扫描方式,用于选择不同的传输层协议和扫描方式。其中,

-PS表示TCP SYN扫描,

-PA表示TCP ACK扫描,

-PU表示TCP NULL扫描,

-PY表示TCP FIN扫描。

[portlist]表示要扫描的端口列表,

可以是一个端口号、一个端口范围或者一个端口列表。

例如:

  • -PS<start>:<end>:扫描从<start>到<end>之间的TCP端口,以十进制表示。

  • -PU<port>:扫描单个UDP端口<port>。

  • -PY<portlist>:扫描<portlist>中指定的TCP端口,以空格分隔。

这些参数可以帮助nmap更精确地扫描目标主机的开放端口,从而帮助网络安全人员发现目标主机上的漏洞或弱点

-PS/PA/PU/PY 与 -p 不同之处在于:

-p参数可以用于指定要扫描的TCP和UDP端口范围,而-PS/PA/PU/PY参数则用于选择不同的传输层协议和扫描方式。例如,使用-p参数可以扫描从20到1000之间的TCP端口,而使用-PS参数可以扫描单个TCP SYN端口。

另外,-p参数还可以用于指定要扫描的端口列表,它接受多个端口号或端口范围作为参数。例如,使用-p 21 23 53可以扫描FTP、Telnet和DNS服务,而使用-p 1-65535可以扫描所有开放的TCP和UDP端口。

总之,-p参数用于指定要扫描的端口范围或端口列表,而-PS/PA/PU/PY参数用于选择不同的传输层协议和扫描方式。

ICMP扫描:-PE/PP/PM

在nmap中,参数-PE/PP/PM用于选择不同的ICMP(Internet Control Message Protocol)类型和扫描方式。

  • -PE:发送一个类型为ICMP Echo Request的包,即ping包。

  • -PP:发送一个类型为ICMP Timestamp Request的包。

  • -PM:发送一个类型为ICMP Address Mask Request的包。

这些参数可以帮助网络安全人员探测目标主机的网络可达性、时间戳或地址掩码信息。

使用例子:

  • nmap -PE {IP}:扫描目标主机,并发送ping包探测网络可达性。

  • nmap -PP {IP}:扫描目标主机,并发送时间戳请求包。

  • nmap -PM {IP}:扫描目标主机,并发送地址掩码请求包。

注意:在使用这些参数时,需要确保目标主机允许ICMP包通过防火墙,否则nmap将无法发送这些请求包

指定DNS服务器:--dns-servers <serv1 [,serv2],...>

指定使用哪个DNS服务器进行域名解析。这个参数可以帮助网络安全人员控制DNS解析的过程,以便更好地理解目标主机的网络结构和探测目标主机的开放端口。

这个参数可以帮助网络安全人员更好地控制nmap的扫描过程,提高扫描的准确性和效率。

  • nmap --dns<DNS server> {IP}:指定使用特定的DNS服务器进行域名解析。

  • nmap --dns<domain> {IP}:指定使用以域名作为DNS服务器的地址进行域名解析。

系统默认DNS解析扫描:--system-dns

指定使用系统默认的DNS服务器进行域名解析。这个参数可以帮助网络安全人员快速地进行域名解析,以便更好地理解目标主机的网络结构和探测目标主机的开放端口。

这个参数可以帮助网络安全人员快速地开始nmap扫描,并提高扫描的效率。同时,它也可以减少手动配置DNS服务器的麻烦,提高扫描的便利性

  • nmap --system-dns {IP}:使用系统默认的DNS服务器进行域名解析。

自定义TCP扫描标志:--scanflags

指定要使用的TCP标志(flags)进行扫描。TCP标志是TCP协议中用于控制数据传输的一组标记,包括SYN、ACK、RST等。使用--scanflags参数可以帮助网络安全人员发现目标主机上开放的端口和可能存在的漏洞或弱点。

  • nmap --scanflagsS,A <targetIP>:使用SYN和ACK标志进行扫描,即TCP SYN和TCP SYN+ACK扫描。

  • nmap --scanflagsR <targetIP>:使用RST标志进行扫描,即TCP RST扫描。

这个参数可以帮助网络安全人员发现目标主机上开放的端口和可能存在的漏洞或弱点,并提供更精确的扫描结果。

排除端口扫描:--exclude-ports < port -ranges >

用于排除指定端口扫描,其中:<port -ranges>是端口范围列表

  • nmap --exclude-ports 1-100

这个参数可以帮助网络安全人员排除端口扫描

连续端口扫描:-r

用于连续端口扫描,例如1-100,端口将会递增进行连续扫描,1,2,3,4....直至100。不使用'-r'则扫描将会是随机的

  • nmap -r {IP}

这个参数可以帮助网络安全人员有序进行端口扫描

指定扫描常见的端口数:--top-ports < number >

用于指定要扫描的端口范围,默认情况下会扫描最常用的100个端口。使用--top-ports参数可以帮助网络安全人员快速地扫描目标主机上最常用的端口,并发现可能存在的漏洞或弱点。

  • nmap --top-ports 50 {IP}:扫描目标主机上最常用的50个端口。

  • nmap --top-ports 1000 {IP}:扫描目标主机上最常用的1000个端口

指定扫描范围及算法:--port-ratio

用于指定要扫描的端口范围和端口扫描算法。这个参数可以帮助网络安全人员更精确地扫描目标主机上的开放端口,并提供更详细的信息。

  • nmap --port-ratio strict {IP}:使用严格的端口扫描算法扫描目标主机上的开放端口。

  • nmap --port-ratio aggressive {IP}:使用积极的端口扫描算法扫描目标主机上的开放端口。

信息探测:--version-ligh

参数--version-light用于指定轻量级的版本侦测方式。这种方式会尽量减少对目标主机的干扰,同时探测到的信息也会相对有限。

  • nmap --**version-light {IP}:使用轻量级的版本侦测方式扫描目标主机上开放端口的相关版本信息。

这个参数可以帮助网络安全人员在不干扰目标主机的情况下,尽可能多地获取相关的版本信息。同时,这种方式也适用于对目标主机进行快速扫描。

使用脚本参数文件:--script-args-file=filename

该参数--script-args-file=filename以文件形式加载脚本交互参数,在文件中提供NSE脚本参数

  • nmap --script=xxx --script-args-file=args.txt<target>: 脚本参数

这个参数可以帮助网络安全人员提供使用文件形式脚本参数进行交互

脚本执行显示: --script-trace

该参数 --script-trace用于显示脚本执行信息,便于网络安全人员调试

  • nmap --script=xxx --script-args-file=args.txt --script-trace<target>:显示脚本信息

这个参数可以帮助网络安全人员提供显示脚本执行信息,便于网络安全人员进行调试查看

更新脚本数据库:--script-updateb

该参数--script-updatedb用于更新脚本数据库

  • nmap --script-updateb<target>: 更新脚本数据库

指定主机组范围:--min-hostgroup/max-hostgroup

参数--min-hostgroup和max-hostgroup用于指定主机组的范围。这些参数可以帮助网络安全人员更精确地控制要扫描的主机组范围,以便更好地理解目标主机的网络结构和探测可能存在的漏洞或弱点。

  • nmap --min-hostgroup 10 --max-hostgroup 20<target>:指定主机组范围为10到20,扫描目标主机上的开放端口和相关信息。

这个参数可以帮助网络安全人员根据不同的扫描需求选择不同的主机组范围,并提供更精确的扫描结果。同时,这种方式也可以减少对目标主机的干扰,提高扫描效率。

指定并行扫描范围:--min-parallelism/max-parallelism

参数--min-parallelism和max-parallelism用于指定并行扫描的范围。这些参数可以帮助网络安全人员更精确地控制要扫描的目标主机范围,以便更好地理解目标主机的网络结构和探测可能存在的漏洞或弱点。

  • nmap --min-parallelism 10 --max-parallelism 200<target>:指定并行扫描范围为10到200,扫描目标主机上的开放端口和相关信息。

这个参数可以帮助网络安全人员根据不同的扫描需求选择不同的并行扫描范围,并提供更精确的扫描结果。同时,这种方式也可以减少对目标主机的干扰,提高扫描效率。

指定扫描往返超时时间: --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout < time >

参数--min-rtt-timeout、max-rtt-timeout和initial-rtt-timeout用于指定往返时延的超时时间。这些参数可以帮助网络安全人员更精确地控制nmap的扫描速度和准确性,以便更好地理解目标主机的网络结构和探测可能存在的漏洞或弱点。

其中花费时间<time>的选项以秒为单位,或附加“ms”(毫秒),“s”(秒)、“m”(分钟)或“h”(小时)的值(例如30m)。

  • nmap --min-rtt-timeout 100ms --max-rtt-timeout 500ms --initial-rtt-timeout 200ms<target>:指定往返时延的超时时间为100毫秒到500毫秒,初始往返时延的超时时间为200毫秒,扫描主机上目标的开放端口和相关信息。

这个参数可以帮助网络安全人员根据不同的扫描需求选择不同的往返时延超时时间,并提供更精确的扫描结果。同时,这种方式也可以减少对目标主机的干扰,提高扫描效率。

限制扫描重试次数: --max-retry < tryes >

该参数--max-retries限制端口扫描探测重新传输的次数,其中 <tryes>代表重试次数。

  • nmap --最大重试次数 5 {IP}

这个参数可以帮助网络安全人员更快的请求得以回应

设置主机超时时间: --host-timeout < time >

该参数 --host-timeout <time>用于限制与主机扫描连接超时时间,其中花费时间<time>的选项以秒为单位,或附加“ms”(毫秒),“s”(秒)、“m”(分钟)或“h”(小时)的值(例如30m)。

  • nmap --host-timeout 10s {IP}

这个参数可以帮助网络安全人员更快的请求得以回应

设置与主机扫描延时及最大延时时间:--scan-delay/--max-scan-delay < time >

该参数--scan-delay/--max-scan-delay <time> 用于设置探测延时及最大延时时间, 其中花费时间<time>的选项以秒为单位,或附加“ms”(毫秒),“s”(秒)、“m”(分钟)或“h”(小时)的值(例如30m)。

  • nmap --scan-delay 10s --max-scan-delay 30s <目标>

这个参数可以帮助网络安全人员更快的请求得以回应及减少错误响应,提高隐蔽的探测

最小扫描速率: --min-rate < number >

该参数 --min-rate <number> 用于限制最短的扫描时间,每秒发送数据包的速度不低于<number>

  • nmap --min-rate 10<目标>

这个参数可以帮助网络安全人员更快的请求得以回应及减少错误响应,提高隐蔽的探测

最大扫描速率: --max-rate < number >

该参数 --max-rate <number> 用于限制最短的扫描时间,每秒发送数据包的速度不超过<number>

  • nmap --max-rate 10 <目标>

这个参数可以帮助网络安全人员更快的请求得以回应及减少错误响应,提高隐蔽的探测

指定扫描包长度:-f;--mtu <瓦尔>

参数-f和--mtu用于指定要扫描的包长度。这些参数可以帮助网络安全人员探测目标主机的网络层协议和包处理能力,以便更好地理解目标主机的网络结构和探测可能存在的漏洞或弱点。

  • nmap -f <target>:将TCP和UDP段长度设置为536(IPv4)/1280(IPv6),以避免丢包和过滤器阻断,同时保持与目标主机的MTU(最大传输单元)匹配。

  • nmap --mtu <val><target>:将TCP和UDP段长度设置为指定值,以避免丢包和过滤器阻断,同时保持与目标主机的MTU匹配。

这个参数可以帮助网络安全人员根据不同的扫描需求选择不同的包长度,并提供更精确的扫描结果。同时,这种方式也可以减少对目标主机的干扰,提高扫描效率。

指定诱饵主机: -D <诱饵1,诱饵2[,ME],...>

参数-D用于指定诱饵主机。诱饵主机是一种用于伪装扫描真实主机位置的虚拟主机。使用诱饵主机可以减少扫描活动被发现的风险。

  • nmap -D 诱饵1,诱饵2,诱饵3<target>:将诱饵1、诱饵2和诱饵3作为诱饵主机,与目标主机一起扫描。

这个参数可以帮助网络安全人员在不暴露自己位置的情况下,进行更安全的网络扫描。

输出主机接口和路由:--iflist

这个参数--iflist用于主机接口和路由显示,用于调试

  • nmap --iflist<target> :用于主机接口和路由显示

这个参数可以帮助网络安全人员获取到数据包扫描主机接口和路由情况,便于调试。

追加输出文件:--append output

参数--append output用于在覆盖任何存在的文件时,将新的数据附加到文件的结尾处,而不是删除文件中的现有内容。

  • nmap --append output <filename>:将文本附加到指定的文件中,而不是删除文件中的现有内容。

这个参数常用于在文件中追加数据而不是覆盖原有数据,适用于需要保留原有数据并添加新数据的场景。

断点加载未完成的扫描:--resume<文件名>

参数--resume<filename>用于从指定的文件中加载未完成的扫描会话,并继续执行扫描。这个参数可以用于恢复之前中断或未完成的扫描会话

  • nmap --resume<文件名>:从指定的文件中加载未完成的扫描会话,并继续执行扫描。

这个参数可以帮助网络安全人员恢复之前中断或未完成的扫描会话,从而减少扫描时间和提高效率。

指定xml转换其他格式:--stylesheet <path/URL>(如CSV或SQLite)的XSLT样式表

参数--stylesheet<path/URL>用于指定将Nmap XML结果转换为另一种格式(如CSV或SQLite)的XSLT样式表文件路径或URL。

  • nmap --stylesheet<path/URL> <target>:将Nmap XML结果转换为另一种格式(如CSV或SQLite)的XSLT样式表文件路径或URL指定的格式。

这个参数可以帮助网络安全人员将Nmap XML扫描结果转换为其他格式,以便于进一步的分析和可视化。

引用 nmap.org 样式表:--webxml

参数--webxml用于指定一个参考样式表,该样式表通常来自 Nmap.Org,用于将Nmap的XML输出转换为更可移植的XML格式。

  • nmap --webxml <target>:将Nmap的XML输出转换为更可移植的XML格式。

这个参数可以帮助网络安全人员更好地理解Nmap的XML输出,并将其用于进一步的分析和可视化。

不使用样式表:--no-stylesheet

--no-stylesheet选项用于指定在将Nmap XML结果生成为HTML报告时不使用样式表。

  • nmap --no-stylesheet <path/URL> <target>:将Nmap XML结果生成为HTML报告时不使用样式表。

这个选项可以帮助网络安全人员生成HTML报告,并在没有样式的情况下查看Nmap XML结果。这在需要自定义样式或对报告进行进一步修改和定制时非常有用。

指定数据文件:--datadir < dirname >

--datadir <dirname>选项用于指定nmap数据文件的目录。这些文件包含了nmap的脚本、插件、配置文件等数据。

  • nmap --datadir <dirname>:指定nmap数据文件的目录为<dirname>

这个选项可以帮助网络安全人员在不干扰nmap默认数据文件的情况下,使用自己定制的数据文件进行扫描和其他操作。这在需要使用特定版本的脚本或插件时非常有用。

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值