如何使用 Python 和 Nmap 对已知 IP 范围进行扫描

2023-04-21 00:00:00 扫描 如何使用 nmap

要使用 Python 和 Nmap 对已知 IP 范围进行扫描,首先需要安装 Nmap 库并导入到 Python 环境中。可以使用 pip 命令来安装 Nmap 库:

pip install python-nmap

安装完成后,可以使用下面的 Python 代码来扫描指定 IP 范围中的主机:

import nmap

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

# 设置要扫描的 IP 范围
ip_range = '192.168.1.1-10'

# 进行扫描
nm.scan(hosts=ip_range, arguments='-p 22,80')

# 输出扫描结果
for host in nm.all_hosts():
    print('Host : %s (%s)' % (host, nm[host].hostname()))
    print('State : %s' % nm[host].state())
    for proto in nm[host].all_protocols():
        print('Protocol : %s' % proto)

        port_list = nm[host][proto].keys()
        for port in port_list:
            print('Port : %s\tState : %s' % (port, nm[host][proto][port]['state']))

在上述代码中,首先创建了一个 Nmap 扫描器对象(即 nm 对象),然后使用 scan() 方法指定要扫描的 IP 范围和端口号,最后通过遍历扫描结果并输出扫描信息来完成扫描任务。

在本例中,我们扫描了“192.168.1.1-10”的 IP 范围内的主机,并检查它们的22和80端口是否开放。如果需要使用字符串作为范例,可以将“192.168.1.1-10”替换成“pidancode.com”或“皮蛋编程”。

相关文章