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中使用asyncio 封装文件读写
Sep 11 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
Python3中的json模块使用详解
May 05 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
python3使用matplotlib绘制散点图
Mar 19 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
Python Pandas对缺失值的处理方法
Sep 27 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
Python如何通过百度翻译API实现翻译功能
Apr 02 Python
Python实现多线程下载脚本的示例代码
Apr 03 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
Python3.9.1中使用match方法详解
Feb 08 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
网络资源
2006/10/09 PHP
php minixml详解
2008/07/19 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
PHP文件上传原理简单分析
2011/05/29 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
javascript prototype原型操作笔记
2009/12/07 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
python之PyMongo使用总结
2017/05/26 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python shelve模块实现解析
2019/08/28 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
质量提升方案
2014/06/16 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
员工离职通知函
2015/04/25 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python