暴力破解测试工具--Patator 源码分析
作者:网络转载 发布时间:[ 2013/8/15 17:10:07 ] 推荐标签:
由于是弱密码扫描,字典肯定不小,那么为了追求速度,肯定要使用线程,patator默认使用10个线程去跑,这部分代码主要在控制部分中(class Controller),代码还是有点小复杂的。
gqueues = [Queue(maxsize=10000) for _ in range(self.num_threads)]
# consumers
for num in range(self.num_threads):
pqueue = Queue(maxsize=1000)
t = Thread(target=self.consume, args=(gqueues[num], pqueue))
t.daemon = True
t.start()
self.thread_report.append(pqueue)
self.thread_progress.append(Progress())
# producer
t = Thread(target=self.produce, args=(gqueues,))
t.daemon = True
t.start()
正如你所看到的,启用了两个经典的线程,一个produce,一个consume,两者通信使用的是Queue。self.num_threads是可配的,通过命名行中指定 -t,否则将是默认的10个线程。
到这里要和大家说再见了,Patator源码还是值得一读的,剩下的交给你们自己行动了。
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11