Python实现端口扫描
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,误删了之前的shell脚本,之前的shell脚本因为扩展性不强,就打算用python来重新实现。端口扫描的方法特别多,我这里是把结果处理成json格式,交给后端的django来处理。#!/usr/bi
千家信息网最后更新 2026年10月31日Python实现端口扫描
误删了之前的shell脚本,之前的shell脚本因为扩展性不强,就打算用python来重新实现。
端口扫描的方法特别多,我这里是把结果处理成json格式,交给后端的django来处理。
#!/usr/bin/env python# -*- coding: utf-8 -*-"""Date:2018-05-14Author:BobDescription:Processing nmap scan results"""import osimport timeimport jsonimport requestsimport subprocessfrom xml.etree import ElementTree as ETurl = 'http://10.200.56.80:8000/portscan/portScanInterface/'def remove_file(del_file): if os.path.exists(del_file): os.remove(del_file) return del_filedef alive_ip(): # Detecting live ip with open('ip_subnet.txt', 'r') as f: for ip in f: ip = ip.strip() cmd = '/usr/bin/nmap -sP -PI -PT %s >> alive_ip.txt' %ip p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True) print p.stdout.read(), # Scan live ip ips = [] with open('alive_ip.txt', 'r') as f: for lines in f: if lines.startswith('Nmap scan'): ip = lines.split(' ') ip = ip[4].strip() ips.append(ip) ip_str = ' '.join(ips) nmap_scan = '/usr/bin/nmap -sV -oX nmap_scan_output.xml %s > /dev/null 2>&1' %ip_str p = subprocess.Popen(nmap_scan, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True) print p.stdout.read(),def deal_scan_xml(xml_file): # Processing nmap scan results bd = open(xml_file, 'r').read() root = ET.fromstring(bd) data = [] for host in root.findall('host'): # Print the number of child elements in the host tag # print len(host), # Get ip address ip_ = host[1].get('addr') # Get ports, protocols, and other information if len(host) == 5: for port in host[3][0:]: # print port port_ = str(port.get('portid')) protocol_ = str(port.get('protocol')) if port[0].tag == 'extrareasons': continue state_ = port[0].get('state') service_ = str(port[1].get('name')) product_ = str(port[1].get('product')) version_ = str(port[1].get('version')) extrainfo_ = str(port[1].get('extrainfo')) ip_ = ip_ data.append({"ip": ip_, "port": port_, "protocol": protocol_, "state": state_, "service": service_, "product": product_, "version": version_, "extrainfo": extrainfo_}) json_data = json.dumps({"detail": data}) json_data = requests.post(url, {"detail": json_data}) print json_data.textdef main(): remove_file('alive_ip.txt') remove_file('nmap_scan_output.xml') alive_ip() deal_scan_xml('nmap_scan_output.xml')if __name__ == '__main__': main()
脚本
处理
端口
扩展性
方法
格式
端的
结果
utf-8
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都互联网科技公司
滨湖区互联网智能科技产品供应
佩信高科技互联网
深圳市运趣互联网科技有限公司
科技类公司包括互联网吗
伍佰万互联网科技怎么赚钱
中国互联网有什么科技
互联网科技实习生岗位
雨阳互联网卡科技有限公司
工业互联网科技成果转化
下一代互联网重大应用科技园
西安有哪些互联网高科技企业
珠海东科互联网科技有限公司
万物互联网智能科技
深圳互联网科技园地址
现代互联网科技公司
北京品多多互联网科技有限公司
10位科技互联网大佬
科技互联网专业务虚会材料
恒生互联网科技趋势
小米移动互联网科技园
广州紫鲸互联网科技有限公司
联恩商钥互联网科技有限公司
天速互联网络科技有限公司
互联网科技热点资讯
朱啸虎曾投资哪些互联网科技企业
互联网营销推广黑科技
科技互联网公司两年变化
互联网对科技影响
华人运通互联网科技公司