批量检测服务器是否能telnet连通

时间:2023-03-09 08:47:34
批量检测服务器是否能telnet连通
# coding: UTF-8
import os
import sys
import json
import platform
from _utils.patrol2 import data_format,report_format,run_cmd sys_type=platform.platform().lower().split('-')[0]
if sys_type in ('linux','aix'):
code,res=run_cmd('which telnet')
else:
code, res = run_cmd('telnet -h')
if code:
has_telnet=False
else:
has_telnet = True
reports=[] reports.append(report_format(platform.node(), childs=[data_format('检测ip', ip,0) for ip in ips.split('\n')] )) def get_result(res):
res=res.split(os.linesep)
length=len(res)
for i in range(-1,-1-length-1):
print res[i]
if not res[i].strip():
continue
elif 'success' in res[i]:
return True
return False for ip in ips.split('\n'):
report=[]
for port in ports.split('\n'):
if has_telnet:
cmd='echo q|telnet -e \'q\' {} {} && echo "success"||echo "fail"'.format(ip, port)
print cmd
code, res = run_cmd(cmd)
res=get_result(res)
if res:
report.append(data_format(port,'通',0))
else:
report.append(data_format(port, '不通', 1))
else:
report.append(data_format(port, '无法使用telnet', 1))
reports.append(report_format(platform.node()+'/'+ip,report))
reports=json.dumps(reports)