您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

python多线程扫描端口示例

2025/8/2 21:37:09发布19次查看
代码如下:
# -*- 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             if activecount()                 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()             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
'''
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product