渗透测试工具 nmap 详解

官网:Nmap: the Network Mapper - Free Security Scanner

-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

  • nmap -sP www.xxx.com/24

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

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

  • 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

  • nmap -O www.xxx.com

全面探测:-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],...>

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

  • nmap --proxy http://proxy1.example.com:8080 {IP}:使用 http://proxy1.example.com:8080 作为代理服务器地址,扫描目标主机的开放端口和相关信息。

协议扫描:-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默认数据文件的情况下,使用自己定制的数据文件进行扫描和其他操作。这在需要使用特定版本的脚本或插件时非常有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/722527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年3月产品认证基础考试简答题及答案

产品认证基础 46.产品认证的工厂检查有哪几种路线&#xff1f;各有什么优缺点&#xff1f; 答案&#xff1a;两种常用的检查路线&#xff1a; 1.按照要素或过程检查 按照认证规则规定的工厂应满足的要素要求&#xff08;包括质量保证能力要求&#xff09;&#xff0c;结合部…

TestNG @Test注释属性- threadPoolSize属性

本文将讨论TestNG中Test annotation的threadPoolSize属性。那么&#xff0c;我们开始吧。 那么&#xff0c;threadPoolSize属性有什么用处呢&#xff1f;答案是&#xff0c;无论何时您想要多次并行地运行一个测试方法&#xff0c;您都需要这个属性。该方法将从invocationCount…

java014 - Java继承

1、继承 1.1 继承概述 继承是面向对象的三大特征之一&#xff0c;可以使得子类具有父类的属性和方法&#xff0c;还可以在子类中重新定义&#xff0c;追加属性和方法。 1.2 继承格式 public class 子类类名 extends 父类类名 {} 范例&#xff1a;public class son extends …

鸿蒙应用组件

基础组件 索引组件—AlphabetIndexer&#xff08;相当于安卓的seedbar&#xff09; 使用&#xff1a;AlphabetIndexer(value: {arrayValue: Array<string>, selected: number})空白填充组件—Blank&#xff08;占位使用&#xff0c;当父组件为Row/Column/Flex时生效&am…

Redis相关学习

Redis 的访问速度比 MySql 快上万倍。因为Redis 在内存中使用&#xff0c;MySql 在硬盘上使用 Redis 和 MySql 相比最大的劣势是存储空间是有限的 redis 主要作为缓存、内存数据库、消息队列 在启动redis客户端的时候&#xff0c;加上--raw&#xff0c;可以让redis客户端将二…

商淘云成功通过中国支付清算协会备案 助力商户合规发展有序经营

2023年12月&#xff0c;商淘云&#xff08;广州商淘信息科技有限公司&#xff09;进入中国支付清算协会第五批收单外包服务机构名单&#xff0c;成功通过聚合支付技术服务类型机构备案。这是继2022年商淘云通过第36类&#xff08;支付和投资类别&#xff09;商标的又一大喜事&a…

Python Shebang(#!)中的/usr/bin/env原理(#!/usr/bin/env python3)(定位系统安装Python解释器的位置)

文章目录 Understanding the Principle of /usr/bin/env in Python Shebang&#xff08;理解Python Shebang中的/usr/bin/env原理&#xff09;Introduction&#xff08;简介&#xff09;Understanding /usr/bin/env&#xff08;理解/usr/bin/env&#xff09;Defining /usr/bin/…

【Lattice FPGA 开发】IP核的调用

本文介绍Diamond开发软件进行IP核调用与对应官方文档查找方法。 文章目录 1. IP核的调用1.1 IPexpress调用IP核1.2 Clarity Designer调用IP核 2. IP核相关文档查找2.1 方法一2.2 方法二2.3 方法三 3 问题 1. IP核的调用 Diamond软件中&#xff0c;根据所选目标FPGA器件型号的…

Golang embed 库全面解析:从基础到高级应用

Golang embed 库全面解析&#xff1a;从基础到高级应用 引言Golang的 embed&#xff1a;简化资源管理提升可移植性与便利性适用场景的拓展 embed 库的基本概念embed 库的工作原理使用 embed 的基本语法访问嵌入资源的方法embed 的限制 如何使用 embed嵌入单个文件嵌入整个目录结…

zephyr学习笔记

zephyr内核对象学习 定时器 类似linux的定时器&#xff0c; 可以分别设置第一次到期时间和后续的周期触发时间&#xff0c; 可以注册到期回调和停止回调 还有一个计数状态&#xff0c;用于标记timer到期了多少次 duration&#xff1a;设定timer第一次到期的时间。 period: …

keycloak-鉴权springboot

一、环境描述 keycloak鉴权springboot的方式&#xff0c;此处简单介绍&#xff0c;springboot官方也提供了demo https://github.com/keycloak/keycloak-quickstarts/tree/latest/spring/rest-authz-resource-server 以及文档说明 Securing Applications and Services Guide…

华为OD机试真题-提取字符串中的最长数学表达式并计算-2023年OD统一考试(C卷)---Python3--开源

题目&#xff1a; 考察内容&#xff1a; 滑动窗口 eval() 思路&#xff1a;先把合法字符提取出来&#xff1b;再从合法字符提取出合法表达式&#xff1b;再获取最长字符串&#xff0c;并运算最后结果。 代码&#xff1a; """ analyze: 如果没有&#xff0c;返…

数字逻辑与计算机组成

冯诺依曼计算机 计算机结构 计算机特点 1.采用二进制 2.程序存储 2.由五大部件组成计算机系统&#xff1a;运算器、存储器、控制器、输入设备和输出设备 计算机硬件系统的层次 中央处理器&#xff08;CPU&#xff09;&#xff1a;运算器 控制器 计算机主机&#xff1a;…

CAN总线位时序的介绍

CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平&#xff0c;二者必居其一。发送方通过使总线电平发生变化&#xff0c;将消息发送给接收方。 显性电平对应逻辑 0&#xff0c;CAN_H 和 CAN_L 之差为 2.5V 左右。而隐性电平对应逻辑 1&#xff0c…

阿里云搭建私有docker仓库(学习)

搭建私有云仓库 首先登录后直接在页面搜索栏中搜索“容器镜像服务” 进入后直接选择个人版&#xff08;可以免费使用&#xff09; 选择镜像仓库后创建一个镜像仓库 在创建仓库之前我们先创建一个命名空间 然后可以再创建我们的仓库&#xff0c;可以与我们的github账号进行关联…

开发知识点-Python-爬虫

爬虫 scrapybeautifulsoupfind_all find祖先/父节点兄弟节点nextpreviousCSS选择器属性值 attrsselect 后 class 正则使用字符串来描述、匹配一系列符合某个规则的字符串组成元字符使用grep匹配正则组与捕获断言与标记条件匹配正则表达式的标志 特定中文 匹配 scrapy scrapy内…

011-闭包

闭包 1、概念2、闭包应用防抖&节流 1、概念 闭包&#xff1a;就是能够读取其他函数内部变量的函数。 function fn1() {const num 100;return function(num1) {return num num1; // 该函数 使用了 父作用域里面的 num&#xff0c;所以被称为闭包} }const sumFn fn1();…

【C语言】指针超级无敌金刚霹雳进阶(但不难,还是基础)

点击这里访问我的博客主页~~ 对指针概念还不太清楚的点击这里访问上一篇指针初阶2.0 上上篇指针初阶1.0 谢谢各位大佬的支持咯 今天我们一起来学习指针进阶内容 指针进阶 一、指针变量1、字符指针变量2、数组指针变量①数组指针变量的定义②数组指针变量的初始化 3、函数指…

C++面试干货---带你梳理常考的面试题(二)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 1.struct 和 class 区别 1.默认访问权限&#xff1a;struct中的成员默认为public&#xff0c;而class中的成员默认为priv…

ClickHouse安装、简介及使用

文章目录 一、简介1、什么是ClickHouse2、什么是OLAP3、列式存储特性 二、安装1、官方文档2、docker安装3、核心目录4、clickhouse-client使用 参考资料 一、简介 1、什么是ClickHouse ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 官网&#xff1a;htt…