python多线程扫描端口示例
本文导语: 代码如下:# -*- coding: cp936 -*-import socketfrom threading import Thread,activeCount,Lockfrom time import ctimemutex = Lock() class Loop(Thread): def __init__(self,ip,port,que): Thread.__init__(self) self.ip = ip self.port = port ...
# -*- 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()