python多线程扫描端口示例


Posted in Python onJanuary 16, 2014
# -*- coding: cp936 -*-
import socket
from threading import Thread,activeCount,Lock
from time import ctime
mutex = Lock()
class Loop(Thread):
    def __init__(self,ip,port,que):
        Thread.__init__(self)
        self.ip     = ip
        self.port   = port
        self.que    = que
    def run(self):
        global mutex
        try:
            client = socket.socket()
            indicator = client.connect_ex((self.ip,self.port))
            if mutex.acquire(1):
                if indicator == 0:
                    que.append(self.ip+'\t'+str(self.port))
                else:
                    print self.ip,'\t',str(self.port),'不可达'
                mutex.release()
        except:
            if mutex.acquire(1):
                print self.ip,'\t',str(self.port),'不可达'
                mutex.release()
class Main(Thread):
    def __init__(self,ip,que):
        Thread.__init__(self)
        self.ip  = ip
        self.que = que
    def run(self):
        i = 0
        while i < 65536:
            if activeCount() <= 200:
                Loop(ip=self.ip,port=i,que=self.que).start()
                i = i + 1
if __name__ == '__main__':
    que = []
    ip = raw_input('IP=')
    main = Main(ip = ip,que = que)
    main.start()
    while True:
        if activeCount() <= 1 and main.isAlive() == False:
            break
    print ''
    f = open('portOpen.py','a')
    f.write("'''")
    f.write(ctime()+'\n')
    f.flush()
    for i in range(0,len(que)):
        print que[i]
        f.write('\t'+que[i]+'\n')
        f.flush()
    f.write("'''")
    f.close()
    raw_input()
'''Mon Jan 13 07:12:53 2014
 localhost 135
 localhost 1028
 localhost 8048
 localhost 8080
 localhost 8181
 localhost 8730
 localhost 12040
 localhost 12897
 localhost 18040
 localhost 18611
''''''Tue Jan 14 10:04:58 2014
 localhost 135
 localhost 1028
 localhost 8048
 localhost 8080
 localhost 8181
 localhost 12897
 localhost 18040
 localhost 18611
'''
Python 相关文章推荐
Python常用随机数与随机字符串方法实例
Apr 09 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
新手常见6种的python报错及解决方法
Mar 09 Python
基于Python打造账号共享浏览器功能
May 30 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 Python
python定时任务 sched模块用法实例
Nov 04 Python
python解析命令行参数的三种方法详解
Nov 29 Python
python实现xml转json文件的示例代码
Dec 30 Python
python发送arp欺骗攻击代码分析
Jan 16 #Python
分析python服务器拒绝服务攻击代码
Jan 16 #Python
python获取豆瓣电影简介代码分享
Jan 16 #Python
linux系统使用python获取cpu信息脚本分享
Jan 15 #Python
linux系统使用python监测系统负载脚本分享
Jan 15 #Python
linux系统使用python获取内存使用信息脚本分享
Jan 15 #Python
linux系统使用python监测网络接口获取网络的输入输出
Jan 15 #Python
You might like
PHP积分兑换接口实例
2015/02/09 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
javascript打开word文档的方法
2014/04/16 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
理解AngularJs指令
2015/12/10 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python学习小技巧总结
2018/06/10 Python
python实现人民币大写转换
2018/06/20 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
Python里面如何拷贝一个对象
2014/02/17 面试题
腾讯公司的一个sql题
2013/01/22 面试题
金融专业应届生求职信
2013/11/02 职场文书
升职自荐书范文
2013/11/28 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
会计人员岗位职责
2015/02/03 职场文书
学习经验交流会策划书
2015/11/02 职场文书
Java线程的6种状态与生命周期
2022/05/11 Java/Android