使用三方库:socket,threadpool
测试目标:127.0.0.1
程序原理:
使用socket对目标+端口创建连接,如果存在则代表端口开放
程序运行结果:
1609737692_5ff2a5dc0593c02f5d225.png!small
程序代码:
#!/usr/bin/python
-- coding: UTF-8 --
‘’’
多线程目录扫描器
作者:木尤
声明:本脚本仅用于学习交流,请勿用于非法途径,造成的任何后果与本人无关
要点:需要安装requests,threadpool这俩个库
‘’’
import socket,threadpool
ports=[]
def scan_poort(port):
ip=‘127.0.0.1’
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
statu=s.connect_ex((ip,port))
if statu==0:
print(port,‘is open’)
except:
passdef get_port():
global ports
for p in range(65536):
ports.append§get_port()
pool=threadpool.ThreadPool(100)
reqs=threadpool.makeRequests(scan_poort,ports)
[pool.putRequest(req) for req in reqs]
pool.wait()