分享一个自己写的py扫描路径工具
2018-08-01 01:11
405 查看
mac下懒得找扫描工具,自己写了一个简单的文件路径如下:
#文件结构 -file文件夹 -result文件夹 -scan.py # -*- coding: utf-8 -*- import requests import time import os from threading import Thread global domain domain = 'http://' + input('请输入域名:') print("\n") global res_type res_type = input('请选择输出方式:1-终端显示,2-输出到txt文档:') while res_type != '1' and res_type != '2' : res_type = input('输入错误,请重新选择输出方式:1-终端显示,2-输出到txt文档:') root = 'file' file = [] thread_num = 0 global start_time start_time = time.time() for dirpath, dirnames, filenames in os.walk(root): for filepath in filenames: file.append(filepath) thread_num = len(file) global num num = 0 global total_num total_num = 0 if res_type == '2': global handle name = str( 'result/' + time.strftime("%d%m%Y%H%M%S")) + '.txt' handle = open(name,'a') def read(filename): time.sleep(3) global num global domain num = num+1 name = 'file/' + filename path_list = [] f = open(name,"r+") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: path_list.append(line.strip('\n')) line = f.readline() f.close() headers = { 'Accept': 'text/html, application/xhtml+xml, image/jxr, */*', 'Accept - Encoding':'gzip, deflate', 'Accept-Language':'zh-Hans-CN, zh-Hans; q=0.5', 'Connection':'Keep-Alive', 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063' } for i in range(0,len(path_list)): r = requests.get(domain + '/' + path_list[i],headers=headers,timeout=3,allow_redirects=False) if r.status_code in [200,403,500,501,502,503]: global total_num total_num = total_num+1 global res_type global handle string = domain + '/' + path_list[i]+' '+ str(r.status_code) if res_type == '1': print(string) else : handle.write(string + '\n') print('扫描准备中,请等待...') for i in range(0,thread_num): name = file[i] t=Thread(target=read,args=(file[i],)) t.start() if i == thread_num-1: t.join() end_time = time.time() - start_time end = '运行结束,总共用时 ' + str(end_time) + '秒,共扫描出 '+ str(total_num) + ' 个路径' print(end) if res_type == 2: handle.write(end) handle.close()
相关文章推荐
- 分享自己写的一个小工具RGB转十六进制(高手勿喷)
- 分享一个自己做的简易敏捷开发管理工具——AgileLite
- 分享自己做的一个系统工具--CME [友情转载]
- 和大家分享下,自己写的一个截图小工具
- 分享一个自己做的简易敏捷开发管理工具——AgileLite
- 分享一个强大的工具,可以快速查看自己公司网站或竞争对手网站的CDN情况
- 分享一个自己开发的数据字典与动态代码生成工具
- 分享一个小巧简单的基金查询工具(自己写的)
- 分享一个小工具,提供源码,以便根据自己需要进行修改
- 自己写的一个sqlserver弱口令扫描工具辅助脚本(提升扫描速度效率,速度极快)
- 分享自己写的一个小工具RGB转十六进制(高手勿喷)
- 分享一个强大的工具,可以快速查看自己公司网站或竞争对手网站的CDN情况
- 分享一个自己写的字符串工具:字符串格式化拼接
- 分享一个Windows Mobile下自己写的联系人备份工具
- 分享一个小巧简单的基金查询工具(自己写的)
- 分享一个自己利用学的IO流操作封装了一个小工具进行文件复制剪切和删除功能
- 自己写的一个小的扫描工具
- 友盟分享和第三方登录的一个工具类,具体的使用方法直接去友盟官网看,写的非常详细
- 分享一个自己利用javascript中的window.setInterval()定时器实现页面背景图片淡入淡出效果
- 周末闲着无聊分享一个自己写的带呼吸效果的android水波纹自定义view