时间:2021-05-22
复制代码 代码如下:
# -*- 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
localhost135
localhost1028
localhost8048
localhost8080
localhost8181
localhost8730
localhost12040
localhost12897
localhost18040
localhost18611
''''''Tue Jan 14 10:04:58 2014
localhost135
localhost1028
localhost8048
localhost8080
localhost8181
localhost12897
localhost18040
localhost18611
'''
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了python实现的多线程端口扫描功能。分享给大家供大家参考,具体如下:下面的程序给出了对给定的ip主机进行多线程扫描的Python代码#!/usr
本文代码实现Python多线程扫描端口,具体实现代码如下。#coding:utf-8importsocketimportthreadimporttimesock
本文实例为大家分享了python实现端口扫描的具体代码,供大家参考,具体内容如下今天老师上课说的内容,使用多线程+socket写一个端口扫描器写的些许潦草,也没
本文实例为大家分享了Python3多线程版TCP端口扫描器的具体代码,供大家参考,具体内容如下使用命令pythonBannerDemo.py-H192.168.
昨晚今晚写了两晚,总算把PyPortScanner写完了,姑且称之为0.1版本,算是一个Python多线程端口扫描工具。水平有限,实话中间有一些困惑和不解的地方