#!/usr/bin/env python
#-*- coding: utf-8 -*-
import telnetlib
import threading
def get_ip_status(key,value):
server = telnetlib.Telnet()
try:
server.open(key,value,timeout=0.1)
print('{0} port {1} is open'.format(key,value))
with open('/root/chech_ip_open.txt','a+') as f_open:
f_open.write('{0} {1}'.format(key,'\n'))
except Exception as err:
print('{0}'.format(key,value))
with open('/root/chech_ip_fial.txt','a+') as f_fial:
f_fial.write('{0} {1}'.format(key,'\n'))
finally:
server.close()
def check_open():
#ip = q.get_nowait()
# 这里模拟多IP地址的情况,也可以从文件中读取IP??list,改成json格式
hosts = []
with open('/root/iplist', "rb") as f:
for file_name in f:
if file_name.startswith(b'#'):
pass
elif file_name == b'':
pass
else:
ips = file_name.strip().decode()
ipt = ips.split('|')[0]
port = ips.split('|')[1]
# hosts.append(file_name.strip('|').decode())
D = {ipt: port}
hosts.append(D)
print(hosts)
for ip in hosts:
# print("2222",ip)
for key,value in ip.items():
keys=key.encode('utf8')
values=value.encode('utf8')
#print("sdsd",key,value)
get_ip_status(keys,values)
if __name__ == '__main__':
import os
if os.path.exists("/root/chech_ip_open.txt"):
os.remove('/root/chech_ip_open.txt')
if os.path.exists('/root/chech_ip_fial.txt'):
os.remove('/root/chech_ip_fial.txt')
threads = []
for i in range(1):
t = threading.Thread(target=check_open)
t.start()
threads.append(t)
for t in threads:
t.join()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2018-09-03 docker之镜像管理命令