# -*- coding: utf-8 -*-
#!/usr/bin/python2
from socket import *
import threading
lock = threading.Lock()
openNum = 0
def portScanner(host,port):
global openNum
try:
s = socket(AF_INET,SOCK_STREAM)
s.connect((host,port))
lock.acquire()
openNum+=1
print('[+] %d open' % port)
lock.release()
s.close()
except:
pass
def main():
setdefaulttimeout(1)
for n in range(1,76):
threads = []
#print (n-1)*880,n*880
for p in range((n-1)*880,n*880):
t = threading.Thread(target=portScanner,args=('127.0.0.1',p))
threads.append(t)
t.start()
for t in threads:
pass
t.join()#在子线程完成运行之前,这个子线程的父线程将一直被阻塞。
print('[*] The scan is complete!')
print('[*] A total of %d open port ' % (openNum))
if __name__ == '__main__':
main()
python 多线程 实现端口扫描
最新推荐文章于 2024-05-15 13:46:37 发布