Python Nmap 模块17 Mar 2025 | 6 分钟阅读 我们都知道端口是什么以及它们如何与 URL 相关联,但我们中的许多人可能从未听说过端口扫描器。基本上,端口扫描器是一种用于探测连接到特定端口的主机或服务器的应用程序,它用于开放端口的服务器和主机。从最后一句,我们还可以得出结论,未经特别许可,我们不能在关闭的端口上使用端口扫描器应用程序,并且未经许可扫描关闭的端口是非法的。端口扫描器通常由管理人员用于验证其自身网络的安全性策略,以检查这些网络将如何识别攻击者或各种威胁。 注意:开放端口是指无需主机特别许可即可使用端口扫描器检查其服务器或端口的端口。Python 是一种多样化的编程语言,这意味着我们可以在几乎所有与技术相关的领域和任务中看到 Python 语言的应用。因此,一个肯定会出现在我们脑海中的问题是,我们是否可以使用 Python 构建端口扫描器,还有另一个问题,我们是否可以自己构建端口扫描器。我们可以构建自己的端口扫描器应用程序,甚至可以使用 Python 程序来做到这一点。是的,完全正确,我们可以使用 Python 程序构建端口扫描器应用程序,甚至可以使用我们构建的应用程序扫描多个端口。 Python 为我们提供了可以在 Python 程序中使用的模块来构建端口扫描器。Python 中可以找到的其中一个模块是 nmap-python 模块,它用于构建端口扫描器。我们将在这篇文章中学习 Nmap 模块,并使用 Python 程序中的该模块构建自己的端口扫描器。 Python 中的 Nmap 模块Nmap 模块,其真名为 nmap-python 模块,是一个开源的 Python 模块,它通过使用 Python 程序创建端口扫描器来帮助我们完成端口扫描任务。通过在 Python 程序中使用此 Nmap 模块,我们可以构建一个端口扫描器,当我们运行程序时,端口扫描器将自动检查我们在程序中定义的端口范围。 Nmap:一种免费且开源的网络扫描工具,用于创建端口扫描器以执行多个端口的检查,称为 Nmap。 Nmap 模块:安装Python Nmap 模块不是 Python 的内置模块,如果我们想使用此模块在 Python 中创建端口扫描器,我们必须先在我们的系统中安装它。有多种方法可以安装此 Nmap 模块,但我们将优先使用 pip 安装程序来完成此任务。因此,我们将使用命令提示符终端中的 pip 安装程序在我们的设备上安装 Nmap 模块,以便我们可以将其导入到 Python 程序中。 我们将使用我们设备命令提示符终端中的以下 pip 安装程序命令,以便我们可以将 Nmap 模块安装到我们的系统中 在 shell 中输入命令后,我们将按 Enter 键开始安装过程,并等待一段时间直到安装过程完成。 ![]() 我们可以看到 Nmap 模块的安装过程现在已经完成,并且已成功安装到我们的系统中。现在,我们可以通过将此模块导入到程序中,在 Python 程序中使用 Nmap 模块及其功能。 Nmap 模块:实现我们现在将在 Python 程序中使用此 Nmap 模块,并借助该模块提供的函数,我们将使用该程序创建一个端口扫描器。如我们之前所学,未经许可扫描关闭端口是非法的,因此我们将选择 localhost (127.0.0.1) 作为我们的目标来使用端口扫描器。在此示例 Python 程序中,我们将为端口扫描器提供范围,程序将告诉我们给定范围内的哪个端口是开放的,哪个端口是关闭的。 示例 查看下面使用 Nmap 模块对 localhost (127.0.0.1) 执行端口扫描的示例 Python 程序 输出 The port 70 number in the range is closed. The port 71 number in the range is closed. The port 72 number in the range is closed. The port 73 number in the range is closed. The port 74 number in the range is closed. The port 75 number in the range is closed. The port 76 number in the range is closed. The port 77 number in the range is closed. The port 78 number in the range is closed. The port 79 number in the range is closed. The port 80 number in the range is closed. The port 81 number in the range is closed. The port 82 number in the range is closed. The port 83 number in the range is closed. The port 84 number in the range is closed. The port 85 number in the range is closed. The port 86 number in the range is closed. The port 87 number in the range is closed. The port 88 number in the range is closed. The port 89 number in the range is closed. The port 90 number in the range is closed. 说明 我们首先将 Nmap 模块导入到我们的程序中,以便我们可以使用程序中的端口扫描器和其他功能。之后,我们定义了范围,我们将扫描范围内的每个端口以检查端口是关闭还是打开,我们将对范围内的每个端口执行此操作。之后,我们定义了要执行检查的目标主机,并将 'targetHost' 变量初始化为打开本地主机。然后,我们使用 Nmap 模块的 portscanner() 函数初始化一个 scanner 变量,稍后我们将使用该变量扫描目标主机。之后,我们使用 for 循环来遍历范围中给出的每个端口,并检查它是关闭还是打开。在 for 循环中,首先,我们初始化了一个 'resultant' 变量,我们使用之前初始化的 scanner 变量扫描目标主机。之后,在 for 循环中,我们再次调用 resultant 变量来存储端口是关闭还是打开的结果,我们使用包含多个变量的字典来产生结果。最后,我们使用 print 语句打印范围内每个端口的结果。这个 for 循环将继续,直到达到范围的结束点,然后程序将完全执行。 在输出中,我们甚至可以看到结果是为每个端口单独打印的,以检查端口是关闭还是打开。这就是我们如何使用 Python 程序中的 Nmap 模块创建端口扫描器并用它来扫描多个端口。 注意:要成功运行我们将在本文中讨论的程序,我们必须在我们的系统中安装 nmap 工具,如果我们想在我们的系统中安装这个工具,我们必须参考 nmap 工具的官方网站。从官方网站,我们可以下载 nmap 工具的安装文件,然后我们可以将 nmap 工具安装到我们的系统中以成功运行本文讨论的程序。下一个主题Python PyLab 模块 |
大多数程序不是通过执行一系列简单的语句来运行的。代码的编写是为了允许根据变量值的变化做出选择并遵循程序中的多条路径。所有编程语言都包含一组预先包含的控制结构,它们使...
5 分钟阅读
引言:在本文中,我们将讨论 Python 中的数据解析。所有编程语言都将标记解析为有意义的词法形式,以便编译器或解释器可以将标记转换为有意义的输出。本文探讨了 Python 中的解析以及有助于解析的模块...
阅读 3 分钟
在本教程中,我们将编写 Python 程序来查找对给定列表进行排序所需的最少交换次数。我们有一个包含 n 个不同元素的数组,我们需要找到对数组进行排序所需的最少交换次数...
5 分钟阅读
红黑树 红黑树是一种二叉搜索树,具有“几乎”平衡的额外属性。红黑树中的每个节点都有一个颜色,红色或黑色,这些颜色用于在插入和删除期间保持平衡。删除:BST 删除:开始于...
阅读 10 分钟
一种建模依赖特征(目标变量)与单个独立特征(简单回归)或多个独立特征(多元回归)之间关系的策略称为线性回归。线性回归算法基于以下假设:两种变量都具有线性...
5 分钟阅读
递归是编程解决问题的重要概念之一。每个初学者都会遇到递归,甚至有经验的开发人员也会使用递归。如果您不熟悉递归,它是一个调用自身的函数。例如 - 放置两面平行的镜子相对……
阅读 8 分钟
用户调用析构函数来销毁对象。在 Python 中,开发人员可能不像在 C++ 语言中那样需要析构函数。这是因为 Python 有一个垃圾收集器,其功能是自动处理内存管理。在本文中,我们将讨论...
阅读 3 分钟
在接下来的教程中,我们将了解 Python 编程语言中的 Difflib 模块。我们将讨论此模块的功能以及一些基于其类的示例。那么,让我们开始吧。了解 Python Difflib 模块 Difflib 是 Python 编程中的一个内置模块...
7 分钟阅读
IDE 与代码编辑器简介:在本文中,我们将讨论 IDE 与代码编辑器。代码编辑器是程序员最重要的关键设备之一,其明确目的是使代码编辑技术更高效、更简单。文本编辑器是...
阅读 6 分钟
最大公约数 (GCD) 是一个数学术语,用于找出可以完美地除以两个数字的最大公因数。GCD 也称为最高公因数 (HCF)。例如,两个数字 54 和 24 的 HCF/GCD 是 6。因为...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India