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怎么学好python?
Oct 07 Python
Python单例模式实例分析
Jan 14 Python
python使用mailbox打印电子邮件的方法
Apr 30 Python
python基础教程之匿名函数lambda
Jan 17 Python
Python中用字符串调用函数或方法示例代码
Aug 04 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
用Python写一段用户登录的程序代码
Apr 22 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
python使用XPath解析数据爬取起点小说网数据
Apr 22 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安全配置
2006/12/06 PHP
smarty实现多级分类的方法
2014/12/05 PHP
php无序树实现方法
2015/07/28 PHP
PHP pear安装配置教程
2016/05/14 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
django的登录注册系统的示例代码
2018/05/14 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
python为什么会环境变量设置不成功
2020/06/23 Python
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
函授本科毕业自我鉴定
2013/10/09 职场文书
农场厂长岗位职责
2013/12/28 职场文书
学生宿舍管理制度
2014/01/30 职场文书
乡村卫生服务一体化管理实施方案
2014/03/30 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
买卖合同协议书范本
2014/10/18 职场文书
赞助商致辞
2015/07/30 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
使用Python拟合函数曲线
2022/04/14 Python
Elasticsearch 基本查询和组合查询
2022/04/19 Python