在 Ubuntu 中安装 Nmap

2025年03月17日 | 阅读 9 分钟

网络映射器或 Nmap 是由 Gordon Lyon(也因其 笔名 Fyodor Vaskovich 而闻名)创建的网络扫描器。它通过传输数据包并检查响应来查找计算机网络上的服务和主机。

网络映射器提供了多种功能来检查计算机网络,例如操作系统检测以及主机服务和发现。这些功能可以通过脚本进行扩展,这些脚本提供更领先的漏洞检测、服务检测和其他功能。它可以在扫描期间适应许多网络条件,例如拥塞和延迟。

Nmap 最初是一个 Linux 实用程序,后来移植到其他系统,如 BSD、macOS 和 Windows。它在 Linux 上最受欢迎,其次是 Windows。

Nmap 的功能

Nmap 的一些重要功能如下所述和解释

Install Nmap Ubuntu
  • 主机发现: 它识别任何网络上的主机。例如,列出响应 ICMP 和/或 TCP 请求或具有特定端口打开的主机。
  • 版本检测: 它通过网络服务询问远程设备以检查版本号和应用程序名称。
  • 端口扫描: 它枚举目标主机上的开放端口。
  • 与目标的脚本化集成: 可以使用 Lua 编程语言和 NSE (Nmap Scripting Engine) 完成。
  • TCP/IP 堆栈指纹: 它根据网络设备的网络活动观察来确定网络设备的硬件特性和操作系统

Nmap 可以提供目标的更多详细信息,例如 Mac 地址、设备类型和 DNS 名称。

Nmap 的典型用途如下

  • 通过识别可以连接到或从防火墙或设备进行连接的网络连接来分析防火墙或设备的安全性。
  • 识别任何目标主机上计划审计的开放端口
  • 资产管理、网络映射、网络清单和维护
  • 通过识别新服务器来分析网络的安全性
  • 在网络上生成流量以进行主机、响应时间测量和响应分析
  • 检测和利用任何网络中的漏洞
  • 子域和 DNS 查询搜索。

Nmap 的用户界面

Nmap 的官方 GUI,NmapFE,最初由 Kanchan 为 Nmap 的 2.2 到 4.22 版本编写。对于 Nmap 的 4.50 版本(最初在 4.22SOC 版本的开发系列中),NmapFE 被 Zenmap 取代,Zenmap 是 Adriano Monteiro Marques 设计的基于 UMIT 的新官方 GUI。此外,还有基于 Web 的界面,允许从 Web 浏览器分析 Nmap 输出或控制 Nmap,例如 IVRE

Nmap 的输出

Nmap 提供 4 种可能的输出格式。但所有交互式输出都保存到文件中。这些输出可以被文本处理应用程序使用,允许用户制作自定义报告。

Install Nmap Ubuntu
  • XML
    它是一种可以由 XML 工具进一步开发的格式。此外,它还可以使用 XSLT 将它们转换为 HTML 报告。
  • 互动性
    当用户通过命令行执行 Nmap 时,它会实时更新和呈现。在扫描时可以注册多个选项以提供监视。
  • 可抓取
    经过处理的输出,用于面向行的处理工具,如 awk、sed 或 grep。
  • 脚本小子
    被定义为一种有趣的交互式输出格式,用视觉相似的数字表示替换字母。例如,有趣的端口将是 Int3rest1ng p0rtz。这被称为 Leet
  • 正常
    在通过命令运行 Nmap 时看到的输出

Nmap 的历史

首先,Nmap 于 1997 年 9 月在 Phrack Magazine 上作为一篇附带源代码的文章发布。在计算机安全社区的贡献和帮助下,开发仍在继续。改进包括服务指纹识别、操作系统指纹识别、协议支持(如 SCTP、IPv6 等)、额外的扫描类型、代码重写(C-C++)以及除了 Nmap 核心功能之外的新程序。

Nmap 的主要版本、发布日期和描述如下

版本日期描述
Nmap 2.001998 年 12 月 12 日,23 年前Nmap 2.00 发布,例如操作系统指纹识别
NmapFE1999 年 4 月 11 日,23 年前它是一个 GTK+ 前端,并与 Nmap 捆绑
2021 年 12 月 7 日,21 年前Windows 移植
2002 年 8 月 28 日,20 年前由 C-C++ 重写
2003 年 9 月 16 日,19 年前第一个添加服务版本检测的公开版本
Nmap 3.702004 年 8 月 31 日,18 年前核心扫描引擎更新到 3.70 版本。新引擎称为 ultra_scan
2005 年夏季Nmap 选择参加 Google Summer of Code。增加了第二代操作系统检测、Ncat、NSE (Nmap Scripting Engine) 和 Zenmap 等功能。
Nmap 4.502007 年 12 月 13 日,14 年前Nmap 4.50,第 10 周年发布版,已发布。增加了 Nmap 脚本引擎、第二代操作系统检测和 Zenmap 等功能。
Nmap 4.85BETA52009 年 3 月 30 日,13 年前Nmap 4.85BETA5 的紧急版本,利用 Nmap 脚本引擎查找 Conficker 感染
Nmap 5.002009 年 7 月 16 日,13 年前添加了 netcat 替代工具 Ndiff 和 Ncat 扫描比较工具
Nmap 5.502011 年 1 月 28 日,11 年前添加了 Nping 数据包生成响应时间测量和响应分析,包括 ICMP、UDP 和 TCP 探测模式。
Nmap 6.002012 年 5 月 21 日,10 年前发布并完全支持 IPv6
Nmap 7.002015 年 11 月 9 日,7 年前
Nmap 7.402016 年 12 月 20 日,5 年前
Nmap 7.702018 年 3 月 20 日,4 年前
Nmap 7.802019 年 8 月 10 日,3 年前
Nmap 7.902020 年 10 月 3 日,2 年前新的指纹识别允许更好的服务/版本和操作系统检测。三个新的 NSE 脚本、新的负载和协议库用于主机发现、版本检测和端口扫描。Npcap 的 1.0.0 版本是 Windows 原始数据包发送/捕获驱动程序的第一个完全稳定版本。

Nmap 的法律问题

网络映射器是一种可用于发现连接互联网系统上活动服务的工具。它可能会像任何其他工具一样用于黑帽黑客攻击,作为未经授权访问任何计算机系统的前奏。尽管如此,Nmap 也被系统和安全管理员用于检查其网络的漏洞(即白帽黑客攻击)。

所有系统管理员都可以使用 Nmap 查找未经授权的服务或未入侵的计算机。

Nmap 的许可证

最初,Nmap 是根据 GPL (GNU Public License) 分发的。在后来的版本中,Nmap 的作者为许可证添加了特定的解释和澄清,他们认为 GNU 公共许可证缺乏或不明确。例如,Nmap 的 3.50 版本特别撤销了 SCO Group 分发 Nmap 软件的许可证,原因是他们之前对 SCO-Linux 争议的看法。

从 7.90 版本开始,Nmap 过渡到新的自定义 NPSL 许可证,将 7.92、7.91 和 7.90 版本双重许可在新旧许可证下。许多 Linux 发行版认为新许可证是非自由的。

Nmap 的工作原理

端口扫描是 Nmap 的一个必要组成部分。用户在他们希望了解详细信息的网络上创建一个目标列表。这些用户不需要识别特定的目标,这很好,因为几乎所有管理员都没有完全了解其网络上使用各个端口的所有内容。相反,他们编译了各种要扫描的端口。

  • 此外,也可以扫描所有网络端口,但这需要时间和消耗一些带宽。
  • 此外,根据任何网络上使用的被动防御类型,例如大规模端口扫描可能会触发安全警报。
  • 大多数人将 Nmap 用于更受限制的部署,或者将其网络的不同部分分类以进行定期扫描。
  • 此外,用户可以管理所有扫描的深度以设置各种要扫描的目标。
  • 例如,有限或轻度扫描可能会提供有关哪个端口是开放的以及哪个端口未被防火墙设置打开的详细信息。
  • 此外,更准确的扫描可以捕获有关哪些类型的设备正在使用这些端口、它们正在运行的操作系统以及正在它们上面运行的服务的信息。
  • 此外,Nmap 可以发现更深层的信息,例如那些检测到的服务的版本。
  • 这使其成为查找漏洞或协助补丁管理工作的完美工具。

管理扫描需要控制台命令,这意味着需要培训。因此,专业人员可以继续应用控制台命令,使其成为新手和专家都有用的工具。如果使用得当,Nmap 可以帮助保护和优化信息和网络。通过 Nmap 扫描端口传输的所有返回数据都通过程序接收和编译。

有许多关键活动,几乎所有人都利用该工具来完成。它们包括

Install Nmap Ubuntu
  • 网络映射: 这是 Nmap 诞生并保持领先的主要原因。Nmap 称为主机检测,它将识别扫描端口上活跃的设备类型。这包括交换机、路由器、服务器和其他设备。此外,用户还可以检查这些设备如何链接以及它们如何连接在一起以构建网络地图。
  • 影子 IT 搜寻: Nmap 可以检测任何网络上设备的位置和类型,因此可以用于识别不应该存在的东西。由于这些设备在网络上的存在未经官方授权或有时可能故意隐藏,因此它们被称为影子 IT。这方面可能很危险,因为这些设备不属于安全程序或审计。
    例如,如果有人在公司网络中秘密放置任何 Xbox 游戏服务器,这不仅可能耗尽带宽,而且可能成为攻击的跳板,尤其是如果它没有使用最新的安全补丁进行管理。
  • 端口规则发现: 如果端口被防火墙等关闭或打开,Nmap 即使使用低级扫描也能轻松检测到它。在编程防火墙时,许多 IT 专业人员利用 Nmap 来查看他们的工作。他们可以检查他们的策略是否包含预期效果以及他们的防火墙是否正常工作。
  • 操作系统检测: Nmap 可以通过一个称为操作系统指纹识别的过程检测已发现设备上活跃的操作系统类型。通常,它返回有关设备供应商名称(HP、Dell 等)和操作系统的详细信息。我们甚至可以使用更深入的 Nmap 扫描来检测操作系统补丁级别和设备的估计正常运行时间等信息。
  • 服务发现: 它定义了检测服务的能力,将 Nmap 提升到普通映射工具的水平之上。用户可以进行更深入的扫描,以找出检测到的设备正在实现哪些角色,而不仅仅是检测设备是否存在。这包括识别它们是作为邮件服务器、存储设备、数据库存储库、Web 服务器还是其他任何东西运行。此外,Nmap 还可以根据该扫描报告正在运行的特定应用程序以及这些应用程序的哪个版本正在使用。
  • 漏洞扫描: Nmap 不是一个嵌入式漏洞扫描工具,因为它不管理任何类型的人工智能或已知漏洞的数据库,这些漏洞可以识别潜在威胁。尽管如此,不断从其他来源或威胁源获取安全详细信息的组织可以使用 Nmap 来查看它们对特定威胁的漏洞。
    例如,如果新发现的漏洞仅影响运行旧版软件的特定服务或应用程序,则可以使用 Nmap 来查看网络资产上正在运行的程序当前是否符合这些情况。如果检测到任何问题,IT 团队可以优先尽快修补这些系统,以在任何攻击者之前消除漏洞。

在 Ubuntu 中安装 Nmap

使用 apt 在 Ubuntu 中安装 Nmap

我们可以借助 apt 命令在 Ubuntu 中安装 Nmap。

  • 首先,我们需要在终端窗口中使用以下命令更新系统仓库
  • 现在,我们将使用以下命令安装 Nmap

Install Nmap Ubuntu
  • 我们需要输入我们的 sudo 密码,并且系统会要求我们确认是否希望继续安装过程。
  • 我们需要键入 y 按钮并单击 Enter 按钮以继续。
  • 安装过程需要一些时间,具体取决于我们的互联网速度。

使用 Snap 在 Ubuntu 中安装 Nmap

此外,Nmap 在 Ubuntu 操作系统中也作为 snap 软件包提供。

  • 我们首先需要在我们的系统上安装 Snapd 工具,以便通过 snap 安装 Nmap。
  • 我们将使用以下命令在我们的系统上获取 Snapd
  • 安装完成后,我们将继续进行第二步。
  • 我们将在终端窗口中使用以下命令安装 Nmap snap 软件包
  • Nmap 的安装过程将开始,完成后将显示以下结果。
Install Nmap Ubuntu
  • 上述结果显示 Nmap 已成功安装在我们的系统上。