python-nmap模块的核心就是PortScanner、PortScannerAsync、
PortScannerError、PortScannerHostDict、PortScannerYield等5个类,其中
最为重要的是PortScanner类,这个模块其实就是集成了nmap扫描器.
import nmap #导入nmap模块
import time
print("-----------开启扫描-------------")
print("----------请耐心等待------------")
date=time.time()
nm=nmap.PortScanner() #端口扫描
nm.scan(hosts="172.16.15.0/24",arguments="1-1000") #nmap参数
for host in nm.all_hosts(): #循环返回主机扫描列表
print("Host: %s (%s)" % (host,nm[host].hostname())) # %s 是占位符 % 开始给占位符赋值. 获取主机地址 以及主机名
print("State: %s" % nm[host].state()) #获取主机状态码 |up|down|unknow|skipped| up开启 down关闭 unknow未知 skipped跳过
for proto in nm[host].all_protocols(): # 扫描主机协议
print("Protocol: %s" % proto) #打印协议
lport=nm[host][proto].keys()
for port in lport:
print("port:%s\t%s" % (port,nm[host][proto][port]['state'])) #
pr