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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
Apr 28 Python
详解Python中open()函数指定文件打开方式的用法
Jun 04 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
Jun 29 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
Tensorflow 实现修改张量特定元素的值方法
Jul 30 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
python实现高斯投影正反算方式
Jan 17 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
TensorFlow打印输出tensor的值
Apr 19 Python
python matplotlib库的基本使用
Sep 23 Python
详解Scrapy Redis入门实战
Nov 18 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
Session的工作方式
2006/10/09 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
python中logging库的使用总结
2017/10/18 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
英文请假条
2014/04/11 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
微信搭讪开场白
2015/05/28 职场文书
风之谷观后感
2015/06/11 职场文书
校长新学期寄语2016
2015/12/04 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
详解Vue3使用axios的配置教程
2022/04/29 Vue.js