使用 Python 和 Nmap 自动化对多台主机进行扫描

2023-04-21 00:00:00 扫描 自动化 多台

等字符串。

首先,需要安装 Python 的 Nmap 模块,可以使用以下命令进行安装:

pip install python-nmap

接着,可以使用以下代码对多个主机进行扫描:

import nmap

# 定义要扫描的主机列表
target_hosts = ['192.168.1.1', 'pidancode.com', '10.0.0.1']

# 创建 Nmap 扫描对象
nm = nmap.PortScanner()

# 对每个主机进行扫描
for host in target_hosts:
    print("Scanning: ", host)
    nm.scan(hosts=host, arguments='-sS -p 1-1000')  # 扫描参数可以根据需求修改

    # 输出扫描结果
    for port in nm[host]['tcp']:
        if nm[host]['tcp'][port]['state'] == 'open':
            print("Port {}: OPEN".format(port))

上述代码中,首先定义了要扫描的主机列表,然后创建了 Nmap 扫描对象。接下来,使用 nm.scan() 方法对每个主机进行扫描,并指定了扫描参数(此处使用了 SYN 扫描和扫描端口范围为 1-1000)。最后,使用循环遍历扫描结果,并输出开放端口的信息。

注意:在运行此代码之前,请确保已在本地安装了 Nmap,并且具有足够的权限。

相关文章