思路懒得写了.
依赖python-nmap,先在电脑上装nmap,不然用不了.openpyxl实际上没有用到,可以不安装.
makeEx()没用到,懒得删了.
#依赖python-nmap,openpyxl包 import nmap import time import openpyxl from multiprocessing.dummy import Pool as ThreadPool import multiprocessing # 1.同目录下创建一个input.txt,放入ip地址列(从xlsx中直接粘贴即可) # 2.输出表格位置,需要先创建这个表格 expath='' inputFile='remain.txt' #扫描端口 #port='1521,1158,2100,3306,1433,1434,5000,5432,27017,6379,11211,80,8080,443,8000,8081,7001,9080,9090,22,23,10027,3389,5631,111,6000,135,445,139,21,25,110,69,161,162,53,5901,5902,2601-2609 ' # port='1-65535' #默认命令 arg='-Pn -T4 -sV' #输出文件名 import time time_rq = time.strftime('%Y-%m-%d', time.localtime(time.time())) outPutFile = time_rq + inputFile def readfile(path,lock): # 返回url列表 file = open(path, 'r',encoding='utf-8') urlList=[] portList=[] for eachline in file.readlines(): #获得地址段 x=eachline.split() url=x[0] port=x[1] # add=IPy.IP(url)#地址段列表 # for u in add: # ip=u.__str__(); # urlList.append(ip) urlList.append(url) portList.append(port) file.close() # 造infoList infoList=[] for index,url in enumerate(urlList): info={'hostname':url,'port':portList[index],'arg':arg,'lock':lock} infoList.append(info) return infoList def scan(info): hostName=info['hostname'] port=info['port'] lock=info['lock'] print(hostName+' '+port+' 扫描开始') scanner=nmap.PortScanner() scanner.scan(hosts=hostName,ports=port,arguments=arg) # print(res) out=open(outPutFile,'a+',encoding='utf-8') # out.write() state=scanner[hostName].state() tcp_ports=scanner[hostName].all_tcp() print(hostName+' '+state) for ports in tcp_ports: if scanner[hostName]['tcp'][ports]['state'] =='open' : st=hostName+' '+str(ports)+' '+scanner[hostName]['tcp'][ports]['name']+'\n' # lock.acquire() out.write(st) print(st) # lock.release() # print(hostName) out.close() def makeEx(): print('----------------开始写入-------------------') wb=openpyxl.load_workbook(expath) sheet=wb.active c=open(outPutFile,'r',encoding='utf-8') i=1 for line in c.readlines(): linelist=line.split() ip=linelist[0] port=linelist[1] name=linelist[2] status=linelist[3] for j in range(4): if j==3: n=linelist[j] n=n.rsplit() n=n[0] sheet.cell(row=i, column=j + 1, value=n) else: sheet.cell(row=i,column=j+1,value=linelist[j]) i=i+1 c.close() wb.save(expath) print('----------------写入完成-------------------') if __name__ == '__main__': print('----------------扫描开始-------------------') lock=multiprocessing.Manager().Lock() start=time.time() pool = ThreadPool(30) infolist=readfile(inputFile,lock) pool.map(scan,infolist) pool.close() pool.join() finish=time.time() print('----------------扫描完成-------------------') t=finish-start print('用时 %f'%t) out = open(outPutFile, 'a+', encoding='utf-8') out.write('\n用时 %f'%t) # makeEx() # info={'hostname':'135.233.115.55','port':'22,23,21,80,3389,5901,5902','arg':'-Pn -sV -T4'}
以上这篇python3 批量获取对应端口服务的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]