如何使用 Python 和 ZMap 发现网络中的主机和设备

2023-04-21 00:00:00 主机 发现 如何使用
  1. 安装 ZMap

ZMap 是一款开源的端口扫描工具,它可以在较短的时间内扫描互联网 IP 地址空间中的所有主机。首先需要在系统上安装 ZMap 工具,可以通过以下命令在 Ubuntu/Linux 系统上进行安装:

sudo apt-get install zmap

或者在 macOS 上通过以下命令进行安装:

brew install zmap
  1. 编写 Python 脚本

接下来,我们可以编写 Python 脚本来调用 ZMap 工具实现扫描操作。以下是一个简单的 Python 脚本示例:

import os

def discover_hosts():
    address_range = 'pidancode.com/24'   # 指定要扫描的 IP 地址范围
    command = 'sudo zmap -p 80 --max-results 10 -o results.txt ' + address_range   # 命令行参数
    os.system(command)   # 调用系统命令执行扫描操作

if __name__ == '__main__':
    discover_hosts()

在上面的示例中,我们通过调用系统命令来执行 ZMap 工具扫描操作。其中 address_range 变量指定了要扫描的 IP 地址范围,这里我们指定了 pidancode.com/24,表示扫描 pidancode.com IP 地址段中最后一组地址从 1 到 255 的所有主机。-p 80 参数指定了要扫描的端口,这里我们指定扫描 HTTP 协议的端口 80。--max-results 10 参数指定了扫描结果的最大数量,这里我们限制只输出前 10 个结果。-o results.txt 参数指定了扫描结果的输出文件路径。

  1. 运行 Python 脚本

将 Python 脚本保存到本地文件中,然后在终端中执行以下命令来运行脚本:

python discover_hosts.py

脚本运行后,ZMap 工具将开始扫描指定的 IP 地址范围,并输出扫描结果到 results.txt 文件中。您可以在终端中输入以下命令来查看输出结果:

cat results.txt

本示例中,我们只扫描了一个较小的 IP 地址范围,并限制了结果数量,适当调整这些参数可以让您获取更详细的扫描结果,但请注意不要触犯法律和网络安全方面的规定。

相关文章