当前位置: 首页 > news >正文

妇联网站建设背景app软件系统开发

妇联网站建设背景,app软件系统开发,个人网站设计源码,河南省建设厅官方网站import argparse import paramiko# 定义一个名为Client的类,用于表示SSH客户端相关操作 class Client:# 类的初始化方法,接收主机地址、用户名和密码作为参数def __init__(self, host, user, password):self.host hostself.user userself.password pa…
import argparse
import paramiko# 定义一个名为Client的类,用于表示SSH客户端相关操作
class Client:# 类的初始化方法,接收主机地址、用户名和密码作为参数def __init__(self, host, user, password):self.host = hostself.user = userself.password = password# 创建一个paramiko的SSHClient实例,用于后续的SSH连接操作self.client = paramiko.SSHClient()# 设置自动添加主机密钥策略,避免出现未知主机密钥时连接失败self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 调用连接方法,尝试建立SSH连接self.connect()# 定义连接方法,用于建立到指定主机的SSH连接def connect(self):try:# 使用提供的主机、用户名和密码进行SSH连接self.client.connect(self.host, username=self.user, password=self.password)print(f"[+] Connected to {self.host}")except Exception as e:print(f"[-] Error connecting to {self.host}: {e}")# 用于在已连接的SSH会话上执行命令,并返回命令的输出结果def send_command(self, cmd):# 在SSH会话上执行命令,获取标准输入、标准输出和标准错误输出流stdin, stdout, stderr = self.client.exec_command(cmd)# 读取标准输出内容,并使用utf-8编码将字节数据转换为字符串output = stdout.read().decode('utf-8')# 读取标准错误输出内容,并进行同样的编码转换error = stderr.read().decode('utf-8')if error:print(f"[-] Error executing command on {self.host}: {error}")return output# 类方法,用于向所有已添加到botNet列表中的客户端发送相同命令,并收集结果@classmethoddef botnet_command(cls, command):results = []# 遍历botNet列表中的每个客户端实例for client in cls.botNet:# 在每个客户端上执行命令,并获取输出结果output = client.send_command(command)# 将客户端的主机地址和对应的命令输出结果作为元组添加到results列表中results.append((client.host, output))return results# 类方法,用于向botNet列表中添加一个新的客户端实例@classmethoddef add_client(cls, host, user, password):client = cls(host, user, password)cls.botNet.append(client)# 类方法,用于关闭所有已添加到botNet列表中的客户端的SSH连接@classmethoddef close_all_connections(cls):for client in cls.botNet:client.client.close()print(f"[+] Connection to {client.host} closed")# 初始化一个空的botNet列表,用于存储所有的客户端实例
Client.botNet = []def main():# 创建一个命令行参数解析器对象,用于解析用户输入的命令行参数parser = argparse.ArgumentParser(description='SSH Botnet Client')# 添加一个名为--host的命令行参数,可接收多个值,用于指定要连接的主机地址parser.add_argument('--host', nargs='+', help='Host(s) to connect to')# 添加一个名为--user的命令行参数,可接收多个值,用于指定SSH连接的用户名parser.add_argument('--user', nargs='+', help='Username(s) for SSH connection')# 添加一个名为--password的命令行参数,可接收多个值,用于指定SSH连接的密码parser.add_argument('--password', nargs='+', help='Password(s) for SSH connection')args = parser.parse_args()# 检查是否缺少必要的命令行参数,如果缺少则报错if not args.host or not args.user or not args.password:parser.error('Missing required arguments')# 检查主机地址、用户名和密码的数量是否一致,如果不一致则报错if len(args.host)!= len(args.user) or len(args.host)!= len(args.password):parser.error('The number of hosts, users, and passwords must be the same')# 通过循环,为每个主机地址、用户名和密码的组合创建一个Client实例,并添加到botNet列表中for host, user, password in zip(args.host, args.user, args.password):Client.add_client(host, user, password)print("Connected to all hosts. Enter 'exit' to quit.")while True:command = input("Enter command: ")if command.lower() == 'exit':breakresults = Client.botnet_command(command)for host, output in results:print(f"Output from {host}:")print(output)# 关闭所有已添加的客户端的SSH连接Client.close_all_connections()if __name__ == '__main__':main()
运行方法:
第一种:终端控制:python your_script.py --host IP1 IP2 --user user1 user2 --password password1 password2

输出结果:


 

http://www.yayakq.cn/news/778938/

相关文章:

  • 做微信视频的网站php面向对象网站开发
  • 廊坊网站建设制作湘潭网站建设方案费用
  • 建设银行网站未响应目前网站开发趋势
  • ppt模板下载的网站网络营销与策划课程
  • 网站建设费 税前扣除吗怎么制作动画
  • 个人网站的设计与建设论文wordpress 404模板下载
  • 做签名的网站沙坪坝网站建设哪家好
  • 留号码的广告网站做优化网站多少钱
  • 十个知名的跨境电商公司莱芜网站优化方案
  • 网站如何做seo优化电商站点是什么意思
  • 小企业网站建设和管理高端seo服务
  • 男男做的视频网站好购物网站logo
  • 襄阳做网站多少钱集团培训网站建设
  • 网站规划与开发技术属于什么大类番禺网站推广
  • 卖产品的网站怎么做用jsp做网站需要的知识
  • iis建好的网站套用模板宜春网络营销是什么
  • 上海app网站开发价值移动互联网应用技术专业学什么
  • 电子商务网站采用的开发技术京东自营网上商城
  • 国外html5特效网站抚顺网站开发
  • 哪个网站域名更新快公司做营销网站
  • 学网站建设需要多久网站建设与实践模板
  • 网站备案证书安装国外网站平台有哪些
  • 网站制作公司去哪找客户科技有限公司注册
  • 海南 网站开发经过学习网站开发后的心得体会
  • 树莓派做博客网站汉台网站制作
  • 0元做网站菜鸟建站网
  • 莱芜百度网站制作做养生网站怎么样
  • 网站建设推广是什么工作重庆网站推广效果
  • 网站开发的费用属于什么科目又拍云存储WordPress
  • .flv 网站播放app首页图片