使用python-nmap实现简单扫描器
使用python版本:2.7.18
linux系统:Ubuntu 20.04
首先需要在PC中安装nmap
sudo apt install nmap
#!/usr/bin/python
# coding=utf-8
import nmap # 导入nmap模块
nm = nmap.PortScanner() # 创建PortScanner对象,要是PC中没有nmap会触发PortScanner异常
nm.scan('www.baidu.com', '1-1024')
for host in nm.all_hosts(): # 以列表形式返回scan()函数参数指定的主机信息
print '--------------------------------------------------------------------'
print 'Host : {0} ({1})'.format(host, nm[host].hostname()) # 输出主机与IP名称
print 'State : {0}'.format(nm[host].state()) # 输出主机状态, 若在线则返回up
for proto in nm[host].all_protocols(): # 以列表形式显示主机中扫描的所有协议
print '------------------'
print 'Protocol : {0}'.format(proto)
lport = list(nm[host][proto]) # 获取端口信息
lport.sort()
for port in lport:
print('port : {0}\tstate : {1}'.format(port, nm[host][proto][port])) # 打印端口信息
print '--------------------------------------------------------------------'
运行结果