Python多线程目录扫描器

Python多线程目录扫描器,代码很简单,不过也花了我很多时间。

遇到文件如下:

  1. 多线程执行问题
  2. 队列执行问题
  3. 编码问题
  4. 目录问题
  5. 自己逻辑问题

    报告长官,总结完毕,以下是成果,请长官查收:
    
    # coding:utf-8
    import requests
    import threading
    import Queue
    import sys
    
    url_list = Queue.Queue()
    mutex = threading.Lock()
    
    def path(url):
        with open("./path.txt") as Path: # ./path.txt 为字典地址,请使用相对目录
            for i in Path:
                yield url + i.split("\n")[0]
    
    def Handle_open(url):
        for i in path(url):
            url_list.put(i)
    
    def is_200(url):
        Handle_open(url)
        try:
            while not url_list.empty():
                mutex.acquire()
                try:
                    r = requests.get(url_list.get(), allow_redirects=False, timeout=2, headers={
                        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) "
                                      "Chrome/45.0.2454.101 Safari/537.36"})
                    if r.status_code == 200 or r.status_code == 302:
                        print "\n[+] %s  code: %s" % (url_list.get(), r.status_code)
                finally:
                    mutex.release()
        except:
            pass
    
    def run_main(url, thread_int):
        for i in range(thread_int):
            i = threading.Thread(target=is_200, args=(url,))
            i.start()
            i.join()
    
    if __name__ == ‘__main__‘:
        if len(sys.argv) < 2 or len(sys.argv) > 3:
            print u‘‘‘程序使用请转至博客:www.hack-sb.com‘‘‘
        run_main(sys.argv[1], int(sys.argv[2]))
时间: 2024-11-05 12:25:54

Python多线程目录扫描器的相关文章

python多线程监控指定目录

import win32file import tempfile import threading import win32con import os dirs=["C:\\WINDOWS\\TEMP",tempfile.gettempdir()] def start_monitor(path_to_watch): h_directory = win32file.CreateFile(path_to_watch, win32con.GENERIC_READ , win32con.FIL

python多线程ssh爆破如何实现与防范?

本文和大家分享的主要是python多线程的ssh**与防范相关内容,一起来看看吧,希望对大家学习python多线程有所帮助. 0x01.About 这几天发现朋友的服务器22被人爆了,于是想想,也想去爆别人服务器. 爆弱口令时候写的一个python小脚本,主要功能是实现使用字典多线程**ssh,支持ip表导入,字典数据导入. 主要使用到的是python的paramiko模块和多线程threading模块. 那么,首先要准备的是字典dict.服务器ip表. 东西很简单,主要默认目录如下: |--s

python多线程应用——DB2数据库备份

前言:DB2一个实例下,可以存在多个数据库,之前使用shell备份脚本,但是同一时刻只能备份一个数据库,对于几百G的备份文件,这个速度显然太慢,今天学习了Python多线程,刚好应用一下. 分析:1.磁盘I/O允许情况下,使用多线程,节省时间,相当可行. 2.Python多线程在某些场景上是鸡肋,但是对于I/O密集型的场景最为适用,这里刚好. 3.thread模块有诸多问题,这里使用threading模块. 4.先前备份脚本修改端口来清理已连接应用,太过暴力,虽然都为冷备,但每次重启开销太大,这

Python 多线程教程:并发与并行

Python 多线程教程:并发与并行 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global interpreter lock(也被亲切的称为“GIL”)指指点点,说它阻碍了Python的多线程程序同时运行.因此,如果你是从其他语言(比如C++或Java)转过来的话,Python线程模块并不会像你想象的那样去运行.必须要说明的是,我们还是可以用Python写出能并发或并行的代码,并且能带来性能的显著提升,只要你能顾及到一些事情.如果你还没看过的话,我建议你看看

python多线程ssh爆破

python多线程ssh爆破 Python 0x01.About 爆弱口令时候写的一个python小脚本,主要功能是实现使用字典多线程爆破ssh,支持ip表导入,字典数据导入. 主要使用到的是python的paramiko模块和多线程threading模块. 那么,首先要准备的是字典dict.服务器ip表. 东西很简单,主要默认目录如下: |--ssh.scan.py |--/log: sshd |--/dict: ip password ip和password按照一行一个放置. 0x02.Co

Python多线程多进程那些事儿看这篇就够了~~

自己以前也写过多线程,发现都是零零碎碎,这篇写写详细点,填一下GIL和Python多线程多进程的坑~ 总结下GIL的坑和python多线程多进程分别应用场景(IO密集.计算密集)以及具体实现的代码模块. 目录   0x01 进程 and 线程 and “GIL” 0x02 python多线程&&线程锁&&threading类 0x03 python队列代码实现 0x04 python之线程池实现 0x05 python多进程并行实现 0x01 进程 and 线程 and “

python多线程

http://blog.csdn.net/pipisorry/article/details/45306973 CPU-bound(计算密集型) 和I/O bound(I/O密集型) I/O bound 指的是系统的CPU效能相对硬盘/内存的效能要好很多,此时,系统运作,大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写,此时 CPU Loading 不高.CPU bound 指的是系统的 硬盘/内存 效能 相对 CPU 的效能 要好很多,此时,系统运作,大部分的状况是 CPU Lo

Python多线程实现方法有几种

目前python多线程实现方式有很多种比如:thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用. 2.7 版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版本的python中已经考虑改进这点,出现了 multithreading模块.threading模块里面主要是对一些线程的操作对象化,创建Thread的class.一般来说,使用线程有两种 模式:

python多线程、多进程以及GIL

多线程 使用threading模块创建线程 传入一个函数 这种方式是最基本的,即调用threading中的Thread类的构造函数,然后指定参数target=func,再使用返回的Thread的实例调用start()方法,即开始运行该线程,该线程将执行函数func,当然,如果func需要参数,可以在Thread的构造函数中传入参数args=(-).示例代码如下 import threading #用于线程执行的函数 def counter(n): cnt = 0; for i in xrange