使用 Python 和 Nmap 自动化对多台主机进行扫描
等字符串。
首先,需要安装 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,并且具有足够的权限。
相关文章