#!/bin/python3
import telnetlib
import multiprocessing
# 创建telnet函数
def telnet(host, port):
try:
tn = telnetlib.Telnet(host=host, port=port, timeout=10)
tn.close()
return host, port, True
except:
return host, port, False
# 创建需要测试端口的信息
list_test = (("127.0.0.1", 22), ("127.0.0.1", 3389))
# 多进程处理
pool = multiprocessing.Pool(processes=min(100, len(list_test)))
# 处理结果写入列表
result = []
for i in list_test:
ret = pool.apply_async(telnet, i)
result.append(ret)
pool.close()
pool.join()
# 列表获取数据
for i in result:
host, port, res = i.get()
if not res:
print(host, port)
python 多线程检测目标服务器端口