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通过90行代码搭建一个音乐搜索工具
Jul 29 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
详解python 注释、变量、类型
Aug 10 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
利用keras使用神经网络预测销量操作
Jul 07 Python
selenium.webdriver中add_argument方法常用参数表
Apr 08 Python
Python学习开发之图形用户界面详解
Aug 23 Python
python接口测试返回数据为字典取值方式
Feb 12 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 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
thinkphp实现图片上传功能分享
2014/03/04 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
javascript 短路法代码精简
2009/08/20 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
利用node.js如何创建子进程详解
2017/12/09 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
js仿360开机效果
2019/12/26 Javascript
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
Python如何合并多个字典或映射
2020/07/24 Python
几款好用的python工具库(小结)
2020/10/20 Python
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
办公室内勤工作职责
2013/12/11 职场文书
酒店门卫岗位职责
2013/12/29 职场文书
实践单位评语
2014/04/26 职场文书
书法大赛策划方案
2014/06/04 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
面试感谢信范文
2015/01/22 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
Javascript设计模式之原型模式详细
2021/10/05 Javascript
Nginx反向代理、重定向
2022/04/13 Servers