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中使用xlrd、xlwt操作excel表格详解
Jan 29 Python
使用Python操作Elasticsearch数据索引的教程
Apr 08 Python
Python中常用操作字符串的函数与方法总结
Feb 04 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
python文件选择对话框的操作方法
Jun 27 Python
如何使用django的MTV开发模式返回一个网页
Jul 22 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
python opencv角点检测连线功能的实现代码
Nov 24 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 Python
python之json文件转xml文件案例讲解
Aug 07 Python
python基础之模块的导入
Oct 24 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
重置版游戏视频
2020/04/09 魔兽争霸
Smarty模板快速入门
2007/01/04 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
js 提交和设置表单的值
2008/12/19 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
Python实现的弹球小游戏示例
2017/08/01 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
分析python请求数据
2018/08/19 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
简单介绍python封装的基本知识
2019/08/10 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
货代行业个人求职简历的自我评价
2013/10/22 职场文书
黄河的主人教学反思
2014/02/07 职场文书
社保委托书怎么写
2014/08/02 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
民事代理词范文
2015/05/25 职场文书
妈妈别哭观后感
2015/06/08 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
校园运动会广播稿
2015/08/19 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS
MySQL数据库 任意ip连接方法
2022/05/20 MySQL
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS