在 Nmap 中探索 Nmap 帮助和选项

NmapNmapBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将探索 Nmap 的帮助文档和选项,以加深对这个强大的网络扫描工具的理解。你将首先打开终端并运行 nmap --help 来访问全面的帮助文档。然后,你将使用相关命令列出扫描类型、查看输出选项并检查计时模板。此外,你将把帮助信息保存到一个文件中,并在 Xfce 文本编辑器中打开它。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/basic_syntax("Basic Command Syntax") nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/timing_performance("Timing and Performance") subgraph Lab Skills nmap/basic_syntax -.-> lab-547101{{"在 Nmap 中探索 Nmap 帮助和选项"}} nmap/output_formats -.-> lab-547101{{"在 Nmap 中探索 Nmap 帮助和选项"}} nmap/save_output -.-> lab-547101{{"在 Nmap 中探索 Nmap 帮助和选项"}} nmap/scan_types -.-> lab-547101{{"在 Nmap 中探索 Nmap 帮助和选项"}} nmap/target_specification -.-> lab-547101{{"在 Nmap 中探索 Nmap 帮助和选项"}} nmap/timing_performance -.-> lab-547101{{"在 Nmap 中探索 Nmap 帮助和选项"}} end

打开终端并运行 nmap --help

在这一步中,你将学习如何直接从终端访问 nmap 的帮助文档。nmap 是一个强大的网络扫描工具,了解其选项对于有效使用至关重要。--help 选项提供了 nmap 的功能、语法和可用选项的全面概述。

首先,在你的 LabEx 虚拟机中打开终端。你可以在 Xfce 桌面上找到终端图标。终端打开后,输入以下命令并按回车键:

nmap --help

此命令将在终端中直接显示 nmap 的帮助文档。输出将包括对 nmap 的描述、其使用语法、可用扫描类型列表、选项以及其他有用信息。

你应该会看到一长串选项和描述在终端中滚动显示。花点时间查看一下输出。你会注意到涵盖目标指定、扫描技术、端口指定、服务和版本检测、脚本扫描、操作系统检测、计时和性能、防火墙/入侵检测系统规避和欺骗、输出以及其他杂项选项的部分。

示例输出(完整输出的片段):

Nmap 7.80 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
...

这一步向你展示了如何访问 nmap 的内置帮助文档。这是了解该工具功能和选项的宝贵资源。在接下来的步骤中,你将更详细地探索其中一些选项。

使用 nmap -s* 列出扫描类型

在这一步中,你将探索如何使用 -s* 选项在 nmap 中列出可用的扫描类型。此选项与通配符字符结合使用,可让你快速筛选和识别 nmap 支持的扫描类型。了解扫描类型对于为你的网络评估目标选择合适的技术至关重要。

在你的 LabEx 虚拟机中打开终端。如果你在上一步之后关闭了它,可以在 Xfce 桌面上找到终端图标。现在,输入以下命令并按回车键:

nmap -s*

此命令可能会导致 nmap 输出一条错误消息。这是因为 -s* 本身不是一个有效的命令。nmap 中的 -s 选项用于指定扫描类型,它需要一个特定的扫描类型标识符(例如,用于 TCP SYN 扫描的 -sS,用于 UDP 扫描的 -sU)。通配符字符 * 在传递给 nmap 之前由 shell 解释。由于没有名为 * 的有效扫描类型,nmap 会发出抱怨。

但是,我们可以使用上一步中 nmap --help 的输出和 grep 来筛选描述扫描类型的行。扫描类型通常与 -s 选项一起列出。

要列出扫描类型,我们可以使用以下命令,该命令将 nmap --helpgrep 结合使用:

nmap --help | grep " -s[A-Z]"

此命令首先执行 nmap --help,然后将输出通过管道传输到 grep 命令。grep 命令会筛选输出,搜索包含“ -s”后跟一个大写字母的行。此模式通常用于列出 nmap 中可用的不同扫描类型。

示例输出:

  -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
  -sU: UDP Scan
  -sN/sF/sX: TCP Null, FIN, and Xmas scans
  -sY/sZ: SCTP INIT/COOKIE-ECHO scans
  -sO: IP protocol scan
  -sC: equivalent to --script=default

输出显示了一系列扫描类型,例如 TCP SYN 扫描(-sS)、TCP Connect 扫描(-sT)、UDP 扫描(-sU)等等。每种扫描类型都使用不同的技术来探测目标系统并收集信息。

这一步演示了如何使用 grep 筛选 nmap --help 的输出并列出可用的扫描类型。在接下来的步骤中,你将探索其他有用的 nmap 选项。

使用 nmap -o* 查看输出选项

在这一步中,你将学习如何使用 -o* 表示法列出 nmap 中可用的输出选项。nmap 提供了各种选项,用于以不同格式保存扫描结果。了解这些选项对于有效地报告和分析扫描数据至关重要。

在你的 LabEx 虚拟机中打开终端。如果你在上一步之后关闭了它,可以在 Xfce 桌面上找到终端图标。与上一步类似,直接使用 nmap -o* 不会按预期工作,因为 shell 在将 * 传递给 nmap 之前会展开它,而 nmap 不识别展开后的参数。

相反,我们将使用 grep 来筛选 nmap --help 的输出,并识别描述输出选项的行。nmap 中的输出选项通常以 -o 开头。

要列出输出选项,请使用以下命令:

nmap --help | grep " -o[A-Z]"

此命令执行 nmap --help 并将输出通过管道传输到 grep 命令。grep 命令会筛选输出,搜索包含“ -o”后跟一个大写字母的行。此模式通常用于列出 nmap 中可用的不同输出选项。

示例输出:

  -oN <filespec>:以正常格式将扫描输出到给定的文件名
  -oX <filespec>:将扫描输出为 XML 格式到给定的文件名
  -oS <filespec>:将扫描输出为类似脚本小子的格式到给定的文件名
  -oG <filespec>:将扫描输出为可用于 grep 的格式到给定的文件名
  -oA <basename>:一次性输出三种主要格式

输出显示了一系列输出选项,例如正常输出(-oN)、XML 输出(-oX)、脚本小子风格输出(-oS)、可用于 grep 的输出(-oG)以及所有格式输出(-oA)。每个选项都允许你以适合不同目的的特定格式保存扫描结果。

这一步演示了如何使用 grep 筛选 nmap --help 的输出并列出可用的输出选项。在接下来的步骤中,你将探索其他有用的 nmap 选项。

使用 nmap -T* 检查计时模板

在这一步中,你将学习如何使用 -T* 表示法检查 nmap 中可用的计时模板。nmap 提供了计时模板,用于控制扫描的速度和激进程度。了解这些模板对于在扫描速度与准确性之间取得平衡以及避免被检测到非常重要。

在你的 LabEx 虚拟机中打开终端。如果你在上一步之后关闭了它,可以在 Xfce 桌面上找到终端图标。与上一步类似,直接使用 nmap -T* 不会按预期工作,因为 shell 在将 * 传递给 nmap 之前会展开它,而 nmap 不识别展开后的参数。

相反,我们将使用 grep 来筛选 nmap --help 的输出,并识别描述计时模板的行。nmap 中的计时模板通常用 -T<0 - 5> 来描述。

要列出计时模板,请使用以下命令:

nmap --help | grep " -T<0-5>:"

此命令执行 nmap --help 并将输出通过管道传输到 grep 命令。grep 命令会筛选输出,搜索包含“ -T”后跟一个介于 0 到 5 之间的数字,然后是一个冒号的行。此模式通常用于列出 nmap 中可用的不同计时模板。

示例输出:

  -T<0 - 5>:设置计时模板(数字越大速度越快)

要获取每个计时模板的更多详细信息,你可以分别搜索每个模板的描述。例如:

nmap --help | grep "timing template"

这将为你提供计时模板的更详细解释:

  -T<0 - 5>:设置计时模板(数字越大速度越快)
  --min-rtt-timeout <时间>, --max-rtt-timeout <时间>, --initial-rtt-timeout <时间>:指定探测往返时间。

虽然这没有单独列出每个模板,但它显示了主要选项并暗示了相关的计时选项。要查看每个模板的描述,你可以手动搜索 nmap --help 的输出或参考在线 nmap 文档。计时模板如下:

  • -T0:偏执模式(非常慢,用于规避检测)
  • -T1:隐秘模式(慢,用于规避检测)
  • -T2:礼貌模式(减慢扫描速度以避免使目标不堪重负)
  • -T3:正常模式(默认速度,在速度和准确性之间取得良好平衡)
  • -T4:激进模式(假设网络快速且可靠)
  • -T5:疯狂模式(非常激进,可能不可靠且会使目标不堪重负)

这一步演示了如何使用 grep 筛选 nmap --help 的输出并识别计时模板选项。了解这些模板可让你根据目标环境和你的目标调整扫描速度和激进程度。

总结

在这个实验中,你探索了 Nmap 的帮助文档和选项。首先,你在 LabEx 虚拟机中打开终端并运行 nmap --help 来访问全面的帮助文档,其中包括使用语法、扫描类型和各种选项的描述。然后,你使用 nmap -s* 列出扫描类型,使用 nmap -o* 查看输出选项,并使用 nmap -T* 检查计时模板。最后,你使用 nmap --help > nmap_help.txt 将帮助文档保存到文件中,并在 Xfce 文本编辑器中打开该文件。