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之数据类型总结
Sep 24 Python
python中单例常用的几种实现方法总结
Oct 13 Python
解决pycharm无法识别本地site-packages的问题
Oct 13 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
python爬虫中多线程的使用详解
Sep 23 Python
python实现自动清理重复文件
Aug 24 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
Nov 28 Python
Python实现疫情地图可视化
Feb 05 Python
浅谈Python中对象是如何被调用的
Apr 06 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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
简单的过滤字符串中的HTML标记
2006/12/25 PHP
php目录管理函数小结
2008/09/10 PHP
php下获取客户端ip地址的函数
2010/03/15 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
Vuex实现简单购物车
2021/01/10 Vue.js
详解python进行mp3格式判断
2016/12/23 Python
python生成excel的实例代码
2017/11/08 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
详解Python 函数参数的拆解
2020/09/02 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
yy婚礼主持词
2014/03/14 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
水电工程师岗位职责
2015/02/13 职场文书
单位接收证明格式
2015/06/18 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书