如何使用 Python 和 Nmap 对已知 IP 范围进行扫描
要使用 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”或“皮蛋编程”。
相关文章