首页
在线工具
统计
友链
Search
1
暴力破解忘记的zip,rar, pdf等文件密码
3,174 阅读
2
typecho添加打赏功能
1,738 阅读
3
躲避校园网客户端的检测实现移动热点开启
1,286 阅读
4
摸鱼人日历
1,265 阅读
5
创建自签名 ssl 证书
979 阅读
随笔杂记
Web建设
运维茶点
编程之路
网络配置指南
Huawei
网络安全
资源下载
生活中的点滴
登录
Search
标签搜索
HCNA
Python
Huawei
Linux
web
PC
Blog
windows
Network
Docker
HCNP
LOVE
Virus
eNSP
Zabbix
DNS
typecho
MySQL
k8s
HTTPS
TanHaX
累计撰写
76
篇文章
累计收到
76
条评论
首页
栏目
随笔杂记
Web建设
运维茶点
编程之路
网络配置指南
Huawei
网络安全
资源下载
生活中的点滴
页面
在线工具
统计
友链
搜索到
76
篇与
的结果
2024-05-28
安装H3C Cloud Lab 与 eNSP 共存
安装eNSP、H3C Cloud Lab、Wireshark和VirtualBox1. 安装 H3C Cloud Lab建议首先安装eNSP。2. 安装 Wireshark在安装 Wireshark 时,请确保勾选 WinPcap 安装选项。Wireshark 下载地址3. 安装VirtualBox下载VirtualBox 5.2 并安装。VirtualBox 5.2 下载地址3.1 修改注册表在进行 HCL 安装时,需要修改注册表编辑器的版本变量值为 6.0.14,以欺骗版本检测。使用管理员权限打开 CMD 终端,并运行以下命令:reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\VirtualBox" /v Version /t REG_SZ /d 6.0.14 /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\VirtualBox" /v VersionExt /t REG_SZ /d 6.0.14 /f4. 下载并安装H3C Cloud Lab下载 H3C Cloud Lab 并进行安装。H3C Cloud Lab 下载地址5. 将注册表改回安装完成后,将修改注册表编辑器的版本变量值修改回 5.2.44。使用管理员权限打开 CMD 终端,并运行以下命令:reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\VirtualBox" /v Version /t REG_SZ /d 5.2.44 /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\VirtualBox" /v VersionExt /t REG_SZ /d 5.2.44 /f
2024年05月28日
138 阅读
0 评论
2 点赞
2024-05-21
相遇的那个她
地址:🔜 <入口>访问密码是她国历生日,如(2002年1月1日),转换成:020101
2024年05月21日
101 阅读
0 评论
9 点赞
2024-04-15
解决 eNSP 错误代码 40 或使用 VirtualBox 无法为虚拟机 AR_Base 打开新任务的问题
最近遇到了 eNSP 无法正常启动设备的问题,错误代码显示为“40”。尝试了官方提供的解决方法,但都没有效果。在这里持续记录一下 eNSP 无法正常启动的解决方案1. 关闭 ”虚拟机平台“首先,打开控制面板,或者按下 Windows + R 组合键打开“运行”对话框,输入 control 后按下回车。在控制面板中,选择查看方式为“小图标”,然后打开“程序和功能”。在左上角的菜单中,选择 “启用或关闭 Windows 功能”。确保选项中的 虚拟机平台 没有被勾选。如果已经勾选了,取消勾选并重启电脑。重启后,看看问题是否已经解决了。
2024年04月15日
650 阅读
1 评论
8 点赞
2024-04-11
续上英语真题在线小突击
虽然这篇没有什么技术含量,但感觉这个功能还是有点用处,便来记录一下。继上一篇文章取消限制使用查询功能,这篇揪出了一个读音速度控制功能,废话不多直接上成果!{lamp/}这里涉及到 XPath 查询、修改元素属性、使用 MutationObserver 以及创建和添加按钮到页面。(function() { const xpath = '/html/body/div[2]/div[4]/div[1]/div/div[2]'; // 要修改的属性名 const attributeName = 'aria-hidden'; const node = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; // 初始状态为 false let attributeValue = 'false'; // 修改属性值函数 function toggleAttributeValue() { attributeValue = (attributeValue === 'false') ? 'true' : 'false'; node.setAttribute(attributeName, attributeValue); } // 创建 MutationObserver 实例 const observer = new MutationObserver((mutations) => { for (const mutation of mutations) { if (mutation.type === 'attributes' && mutation.attributeName === attributeName) { // 属性值被改回 true,重新改为 false if (node.getAttribute(attributeName) !== attributeValue) { node.setAttribute(attributeName, attributeValue); } } } }); // 启动 MutationObserver observer.observe(node, { attributes: true }); // 创建开关按钮 const toggleButton = document.createElement('button'); toggleButton.textContent = '读音速度开关'; toggleButton.style.position = 'fixed'; toggleButton.style.top = '50px'; toggleButton.style.right = '50px'; toggleButton.addEventListener('click', toggleAttributeValue); // 添加按钮到页面 document.body.appendChild(toggleButton); })();在这个脚本中,我们首先定义了一个 XPath 表达式来定位页面中的一个特定元素。然后,我们获取这个元素的引用,并定义了一个函数 toggleAttributeValue 来切换该元素的 aria-hidden 属性值。接着,我们创建了一个 MutationObserver 实例来监听该元素属性的变化。当 aria-hidden 属性的值发生变化时,如果它变回了 'true',我们将它重新设置为 'false'。这确保了我们始终控制该属性的值。最后,我们创建了一个按钮元素,并为其添加了一个点击事件监听器,该监听器在点击时调用 toggleAttributeValue 函数。这个按钮被添加到页面的 body 中,用户可以通过点击它来切换元素的 aria-hidden 属性。简单来说 aria-hidden 设置为 true,表示元素不能被屏幕阅读器读取;而如果设置为 false,则表示元素可以被屏幕阅读器读取。附上 greasyfork 脚本存储点。
2024年04月11日
147 阅读
0 评论
7 点赞
2024-04-03
黑豹X2 (PantherX2)刷机小笔记
最近在群里看到一位老表分享了一款黑豹X2设备,感觉性价比还不错,可以拿来搭建一个小型服务器。设备配置:CPU: 瑞芯微 rk3566 4核(Cortex-A55*4)RAM: 4GBROM: 32GB eMMC 5.1 存储USB2.0: ×1千兆网卡: ×1无线WIFI: 支持蓝牙: 支持TF卡扩展: 支持,同时有一个M-SATA的槽位(暂时无法直接替换使用,可能需要魔改或者单独驱动)。{lamp/}刷机步骤:1. 安装驱动与刷机程序.1.1 前往FireFly官网下载 RK3566 驱动文件与刷写工具。1.2 首先安装 DriverAssitant_v5.1.1 驱动包,并确保刷机软件(RKDevTool_Release_v2.84)中 Boot 和 system 的文件路径选择正确,请勿使用默认路径!!!注意:RKDevTool_Release 必须是 v2.84 版本的。如果不习惯英文界面,可在 config.ini 配置文件中将Selected=0修改为 Selected=1 重启程序后就会显示中文界面。2. 刷机镜像2.1 下载Armbian镜像和RK3566的LOADER文件。2.2 在设备未通电的情况下,按住 Reset 键,然后插入双USB头线。2.3 等待下方显示从 “没有发现设备” 转换到 ”发现一个LOADER设备“ 状态后,松开 Reset 键。然后选择镜像和 loader 文件。2.4 点击“高级功能”,进入 “进入Maskrom” 后设备会重启进入MASKROM模式。2.5 进入MASKROM模式,等待重启成功后再次回到”下载镜像“菜单,点击“执行”开始刷机。2.6 等待下载完成后,刷机结束,就可以移除USB线,再插入网线和电源线进行供电。3 初始化配置 Armbian初次登录设备一般通过DHCP获取IP,可以通过路由器后台查看设备IP地址。首次登录系统会提示输入默认的账户和密码,此时默认账户密码为root/ 1234。更改软件源,和安装部署其他系统方式。以下放了一个大佬编写的脚本可以快速部署。#!/bin/bash #彩色 red(){ echo -e "\033[31m\033[01m$1\033[0m" } green(){ echo -e "\033[32m\033[01m$1\033[0m" } yellow(){ echo -e "\033[33m\033[01m$1\033[0m" } blue(){ echo -e "\033[34m\033[01m$1\033[0m" } #获取本机IP function getip(){ lan=$(ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(.\d+){3}') wan=$(curl -s https://myip.ipip.net/) date=$(date "+%Y-%m-%d %H:%M:%S") red "内网IP:$lan\n外网IP:$wan\n当前时间:$date" } #宝塔面板综合安装脚本 function bt(){ # 更新软件包列表 sudo apt update # 安装更新 sudo apt upgrade -y # 安装宝塔 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec } #安装1Panel function 1panel(){ # 更新软件包列表 sudo apt update # 安装更新 sudo apt upgrade -y # 安装1Panel curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh } #安装CasaOS function casaos(){ # 更新软件包列表 sudo apt update # 安装更新 sudo apt upgrade -y # 安装CasaOS curl -fsSL https://get.casaos.io | sudo bash } #挂载TF卡 function tfcard(){ if grep -qs "/dev/mmcblk" /etc/fstab; then red "TF卡已经挂载,跳过挂载步骤。" else blue "TF卡未挂载,执行挂载操作。" # 挂载 TF 卡的选择提示 # 创建 TF 卡挂载目录 sudo mkdir -p /mnt/tfcard # 挂载 mmcblk0p1 设备到 /mnt/tfcard sudo mount /dev/mmcblk0p1 /mnt/tfcard # 将挂载信息添加到 /etc/fstab echo "/dev/mmcblk0p1 /mnt/tfcard auto defaults 0 0" | sudo tee -a /etc/fstab # 重新加载挂载 sudo mount -a red "已挂载TF卡到 /mnt/tfcard" fi } #切换中文 function chinese(){ # 修改时区为东八区上海 sudo timedatectl set-timezone Asia/Shanghai if [[ $(locale | grep LANG | cut -d= -f2) != "zh_CN.UTF-8" ]]; then # 修改系统语言为中文 sudo sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen sudo locale-gen zh_CN.UTF-8 sudo update-locale LANG=zh_CN.UTF-8 LC_ALL= # 安装必要的软件包 sudo apt install apt-transport-https ca-certificates red "已更换为中文环境,即将重启,请稍后重新连接后再次执行代码。" sudo reboot exit fi } #更换 Armbian 的源为国内源 function change_source(){ sudo sed -i.bak 's#apt.armbian.com#mirrors.tuna.tsinghua.edu.cn/armbian#g' /etc/apt/sources.list.d/armbian.list sudo sed -i.bak 's#security.debian.org#mirrors.ustc.edu.cn/debian-security#g' /etc/apt/sources.list sudo sed -i.bak 's#deb.debian.org#mirrors.ustc.edu.cn#g' /etc/apt/sources.list sudo sed -i.bak 's#ports.ubuntu.com#mirrors.tuna.tsinghua.edu.cn/ubuntu-ports#g' /etc/apt/sources.list red "已更换源为国内源,即将进行更新检查。" # 更新软件包列表 sudo apt update # 安装更新 sudo apt upgrade -y } #宝塔面板 自动磁盘挂载工具 function btdisk(){ wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.sh } #主菜单 function start_menu(){ clear if [ $(whoami) != "root" ];then echo "请使用root权限执行脚本命令!" exit 1; fi red "Armbian 初始化脚本 " echo " " blue "当前时间:$(date)" blue "当前系统:$(uname -srmo)" echo " " yellow " ==================================================" green " 1. 切换为中文环境" green " 2. 挂载 TF卡" green " 3. 切换为国内镜像源" green " 4. 获取本机IP" green " 5. 宝塔面板 自动磁盘挂载工具" green " 6. 安装 宝塔面板" green " 7. 安装 1Panel面板" green " 8. 安装 CasaOS面板" yellow " ==================================================" green " 0. 退出脚本" echo read -p "请输入数字:" menuNumberInput case "$menuNumberInput" in 1 ) chinese ;; 2 ) tfcard ;; 3 ) change_source ;; 4 ) getip ;; 5 ) btdisk ;; 6 ) bt ;; 7 ) 1panel ;; 8 ) casaos ;; 0 ) exit 1 ;; * ) clear red "请输入正确数字 !" start_menu ;; esac } start_menu "first"
2024年04月03日
758 阅读
1 评论
6 点赞
2024-03-23
英语真题在线小突击
发现一个有用的学习网站 🔜 英语真题在线 。话不多说直接润起来!{lamp/}1. 在网上发现一篇关于这个网站的文章,意外发现这个点可以修改循环次数数值达到无限制使用查询功能。这里主要是利用键值对,删除了该键后使用查询时会触发事件重新索引数据以达到无限制的查询。2. 在这里是直接用脚本自动在触发事件时删除 extra_data 数据 🔜 脚本部署地址注:需搭配油猴一起使用,如果没有安装该拓展可以在这里安装 🔜 官方地址
2024年03月23日
178 阅读
0 评论
3 点赞
2024-03-20
Python 扫描局域网存活设备
大无语了临近考试还在这里本末倒置的瞎搞!写这个没有什么技术含量的小工具,望各位大佬多担待一下。最近朋友的出租屋的网络出现多个DHCP服务器, 路由器有时候动态获取错误地址,所以使用 Python 编写了这个简单小工具以便了解局域网中哪些 IP 地址正在被使用和其主机名和MAC地址等信息(获取主机名和MAC还有点问题)。目前计划这个扫描工具实现以下功能:{timeline}{timeline-item color="#19be6b"}手动设置或者自动获取本地IP信息;{/timeline-item}{timeline-item color="#19be6b"}对指定或自动生成的子网内所有主机进行扫描,判断主机是否存活,并提取主机名、MAC地址和在线状态;{/timeline-item}{timeline-item color="#ed4014"}检测存活主机的端口使用状态;{/timeline-item}{timeline-item color="#ed4014"}手动设置检测超时时间;{/timeline-item}{timeline-item color="#ed4014"}手动设置线程;{/timeline-item}{/timeline}{lamp/}import ipaddress import socket import subprocess def scan_local_network(subnet=None): if subnet is None: local_ip = socket.gethostbyname(socket.gethostname()) subnet = ipaddress.ip_network(local_ip+'/24', strict=False) live_hosts = [] total_hosts = sum(1 for _ in subnet.hosts()) scanned_hosts = 0 for host in subnet.hosts(): scanned_hosts += 1 host = str(host) ping_process = subprocess.Popen(['ping', '-n', '1', '-w', '100', host], stdout=subprocess.PIPE, stderr=subprocess.PIPE) ping_output, _ = ping_process.communicate() if "TTL=" in ping_output.decode('gbk'): live_hosts.append((host, ping_output.decode('gbk'))) print(f"扫描进度:{scanned_hosts}/{total_hosts}", end='\r') return live_hosts def parse_ping_output(output): result = { "hostname": "", "mac_address": "", "status": "Offline" } # 提取主机名 for line in output.splitlines(): if line.startswith("Reply from"): hostname = line.split(" ")[2] result["hostname"] = hostname.replace(":", "") break # 提取 MAC 地址 for line in output.splitlines(): if line.startswith("MAC Address"): mac_address = line.split(":")[1].strip() result["mac_address"] = mac_address break # 判断端口状态 if "unreachable" not in output: result["status"] = "Online" return result def main(): # ASCII ascii_art = """ .--, .--, ( ( \.---./ ) ) '.__/o o\__.' {= ^ =} > - < / \\ // \\\\ //| . |\\\\ "'\ /'"_.-~^`'-. \ _ /--' ` ___)( )(___ (((__) (__))) ............................................. ping值稳定测精准 TanHaX 网络通畅似流云舒。 """ print(ascii_art) print("欢迎使用局域网IP扫描工具!") subnet = input("请输入要扫描的网段(例如 192.168.1.0/24),或 按回车键默认使用本地网段:") if subnet: try: subnet = ipaddress.ip_network(subnet, strict=False) live_hosts = scan_local_network(subnet) except ValueError: print("输入的网段格式不正确!") else: live_hosts = scan_local_network() if live_hosts: print("\n以下IP地址在使用中:") for host, output in live_hosts: parsed_data = parse_ping_output(output) print(f"[IP] {host} [Hostname] {parsed_data['hostname']} [MAC] {parsed_data['mac_address']} [Status] {parsed_data['status']}") print("扫描完成!") else: print("未发现任何活跃的主机。") if __name__ == "__main__": main()
2024年03月20日
212 阅读
0 评论
3 点赞
2024-02-21
安装程序时出现“Windows要求已数字签名的驱动程序”的问题
在为客户安装公司产品时,经常会在旧版微软系统上遇到 “Windows要求已数字签名的驱动程序” 的问题。在这里记录一下解决方法:由于微软宣布将停止支持SHA-1签署的数字签名证书,改为使用SHA-2。但部分旧版微软系统本身并不支持SHA-2,这将导致在这些系统上,大量更新证书的软件无法正常使用。更新补丁 在微软官方网站下载并安装最新的补丁程序 KB976932,以确保系统能够支持最新的数字签名证书。使用火绒安全补丁工具 您还可以选择使用火绒官方推出的修复工具:火绒安全-SHA-2代码签名补丁修复工具,此工具可以解决数字签名相关的问题。
2024年02月21日
318 阅读
0 评论
1 点赞
2024-02-20
优化 Python 批量备份交换机配置-重构部分功能
在游水的时候看到 @winty 大佬 被 @aa7088414 大佬重构的代码后 感觉可以再优化那么一丢丢。主要修改以下几点:代码结构整理:对原始代码进行了逻辑重构和优化,将部分重复代码提取成函数进行复用,简化代码结构。错误处理:在连接设备时添加了异常处理,并记录连接失败的设备信息。文件操作:使用了os.makedirs替换了os.path.join和os.makedirs组合,同时对异常进行了处理。数据读取:使用openpyxl库的iter_rows方法直接获取单元格值,避免了通过循环逐一获取单元格值的冗余操作。日志记录:使用logging库记录了操作日志,并对错误进行详细记录。代码细节:对变量和字典键值等进行了类型转换和判空处理。import json import logging import time from datetime import datetime import os import re from netmiko import ConnectHandler, exceptions from openpyxl import load_workbook # 取消以下注释开启调试模式 # logging.basicConfig(level=logging.DEBUG) # 读取excel内设备列表信息 def check_and_get_dev_list(filename, sheet_name): excel_information = [] wb = load_workbook(filename) sh = wb[sheet_name] # 获取最大行数 rows = list(sh.iter_rows(values_only=True)) sheet_header = [cell for cell in rows[0]] data = [dict(zip(sheet_header, row)) for row in rows[1:]] # 去除ip为空的数据 data = [i for i in data if i.get('ip') is not None] return data # 获取excel数据并整合成dev字典 def get_dev(): res = check_and_get_dev_list('./resource.xlsx', 'Sheet1') devices = [] for i in res: if i['protocol'] == 'telnet': i['type'] = i['type'] + '_telnet' dev = { 'device_type': str(i['type']), 'host': str(i['ip']), 'username': str(i['username']), 'password': str(i['password']), 'secret': str(i['enpassword']) if i['enpassword'] else None, 'port': str(i['port']), 'session_log': 'session.log' } devices.append(dev) return devices def get_cmds(): with open("./dis_cmds.conf", 'r', encoding='utf-8') as f: js = json.load(f) return js def devices_confbak(devices=None): if devices is None: devices = [] current_date = datetime.now().strftime("%Y-%m-%d") path = f'./conf_bak/{current_date}' try: os.makedirs(path, exist_ok=True) except OSError as e: logging.error(f"Failed to create directory: {path}, error: {e}") failed_ips = [] for dev in devices: try: with ConnectHandler(**dev) as conn: print('\n----------成功登录到:' + dev['host'] + '----------') if dev['secret'] and dev['secret'] != "None": try: conn.enable() except Exception as e: logging.error("enable登录失败: %s", e) pwd = f"{path}/{dev['host']}" os.makedirs(pwd, exist_ok=True) dis_cmds = get_cmds() for cmd_string_dict in dis_cmds: print(f"正在获取:{cmd_string_dict['name']}") time.sleep(0.1) output = None for dev_type, command in cmd_string_dict.items(): if dev['device_type'].startswith(dev_type): output = conn.send_command(command_string=command) if output is None: print(f"error:未找到设备类型为{dev['device_type']}的{cmd_string_dict['name']}预设命令,请检查并修改dis_cmds.conf文件") continue fname = f"{dev['host']}_{cmd_string_dict['name']}.txt" file_path = f"{pwd}/{fname}" with open(file_path, mode='w', encoding='utf8') as f: try: f.write(output) print(f"备份{fname}成功!") except PermissionError: print("*****-无写入权限,请将文件夹赋予读写权限-*****") except (exceptions.NetmikoAuthenticationException, exceptions.NetmikoTimeoutException, exceptions.ReadTimeout) as e: logging.error(f"连接设备{dev['host']}失败: {e}") failed_ips.append(dev['host']) except Exception as e: logging.error(f"发生了意料外的错误:{e}") failed_ips.append(dev['host']) if failed_ips: print("\n以下设备连接失败,请检查:") for ip in failed_ips: print(ip) return 0 def devices_autocheck(devices='', cmd=''): results = [] try: for device in devices: with ConnectHandler(**device) as conn: conn.enable() print('正在巡检:' + device['host'] + ' ...') result = [device['host'], device['device_type']] for item in cmd: if 'cisco_ios' in device['device_type']: output = conn.send_command(command_string=str(item['cisco'])) elif any(x in device['device_type'] for x in ['huawei', 'hp_comware']): conn.send_command(command_string='sys', expect_string=']') output = conn.send_command(command_string=str(item['huawei'])) result.append(output) results.append(result) except (exceptions.NetmikoAuthenticationException, exceptions.NetmikoTimeoutException, exceptions.ReadTimeout) as e: logging.error(f"连接设备{device['host']}失败: {e}") return results def get_mem(memstr, devtype=''): if 'cisco' in devtype: total_match = re.search(r'Processor Pool Total:\s+(\d+)', memstr) used_match = re.search(r'Used:\s+(\d+)', memstr) if total_match and used_match: total = int(total_match.group(1)) used = int(used_match.group(1)) percentage = used / total * 100 return f"{percentage:.0f}%" elif 'huawei' in devtype: match = re.search(r"Memory Using Percentage Is:\s*(\d+)%", memstr) if match: return match.group(1) + '%' return "No match found." def get_cpu(cpustr, devtype=''): if 'cisco' in devtype: match = re.search(r"CPU utilization for five seconds: (\d+)%", cpustr) if match: return match.group(1) + '%' elif 'huawei' in devtype: match = re.search(r"\b(\d+(\.\d+)?)%.*?\bMax", cpustr) if match: return match.group(1) + '%' return "No match found." if __name__ == '__main__': while True: print("\n##############################################\n") print("1:批量备份交换机信息与配置") print("2:批量巡检交换机设备") print("0:退出") option = input("请输入需要的操作编号:") if option == '1': dev = get_dev() devices_confbak(devices=dev) continue elif option == '2': cmds = [ {'cisco': 'show clock', 'huawei': 'display clock'}, {'cisco': 'show env power', 'huawei': 'display power'}, {'cisco': 'show env fan', 'huawei': 'display fan'}, {'cisco': 'show env temperature status', 'huawei': 'display environment'}, {'cisco': 'show processes cpu', 'huawei': 'display cpu-usage'}, {'cisco': 'show processes memory', 'huawei': 'display memory-usage'}, ] dev = get_dev() checkres = devices_autocheck(dev, cmds) for res in checkres: print('\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++') print(res[0] + '-巡检结果:') print('\n时钟:\n' + res[2]) print('电源:\n' + res[3]) print('风扇:\n' + res[4]) if 'Unrecognized command' in res[5]: print('温度:\n该设备不支持获取此数据!') else: print('温度:\n' + res[5]) print('CPU利用率:\n' + get_cpu(res[6], res[1])) print('内存利用率:\n' + get_mem(res[7], res[1])) print('\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++') continue elif option == '0': break else: print("请输入正确的编号!") 注:python 的版本为3.9以下是配套的文件dis_cmds.conf(修改时引号必须为英文双引号):[ {"name": "查看版本", "hp_comware": "display version", "huawei": "display version", "cisco_ios": "show version"}, {"name": "查看时间", "hp_comware": "display clock", "huawei": "display clock", "cisco_ios": "show clock"}, {"name": "查看序列号", "hp_comware": "display device ma", "huawei": "display device manufacture-info", "cisco_ios": "show inventory"}, {"name": "查看风扇", "hp_comware": "display fan", "huawei": "display fan", "cisco_ios": "show environment"}, {"name": "查看电源状态", "hp_comware": "display power", "huawei": "display power", "cisco_ios": "show environment power"}, {"name": "查看CPU利用率", "hp_comware": "display cpu-usage", "huawei": "display cpu-usage", "cisco_ios": "show processes cpu"}, {"name": "查看内存利用率", "hp_comware": "display memory", "huawei": "display memory-usage", "cisco_ios": "show processes memory"}, {"name": "查看VLAN配置", "hp_comware": "display vlan", "huawei": "display vlan", "cisco_ios": "show vlan"}, {"name": "查看二层接口状态", "hp_comware": "display interface brief", "huawei": "display interface brief", "cisco_ios": "show interfaces switchport"}, {"name": "查看三层接口IP", "hp_comware": "display ip interface brief", "huawei": "display ip interface brief", "cisco_ios": "show ip interface brief"}, {"name": "查看ACL控制列表", "hp_comware": "display acl", "huawei": "display acl all", "cisco_ios": "show access-lists"}, {"name": "查看路由表", "hp_comware": "display ip routing-table", "huawei": "display ip routing-table", "cisco_ios": "show ip route"}, {"name": "查看ARP表", "hp_comware": "display arp", "huawei": "display arp", "cisco_ios": "show arp"}, {"name": "查看MAC表", "hp_comware": "display mac-address", "huawei": "display mac-address", "cisco_ios": "show mac address-table"}, {"name": "查看日志", "hp_comware": "display logbuffer", "huawei": "display logbuffer", "cisco_ios": "show logging"}, {"name": "查看所有配置", "hp_comware": "display current-configuration", "huawei": "display current-configuration", "cisco_ios": "show running-config"} ]{cloud title="交换机批量备份_源码" type="lz" url="https://tanghan.lanzoul.com/ixtqL1ou6mla" password="ao5m"/}
2024年02月20日
114 阅读
0 评论
0 点赞
2024-02-19
解决 Debian 中的域名解析问题 - Temporary failure in name resolution
在新部署的镜像中更新软件源时遇到域名解析问题。1. 检查域名解析故障当遇到域名解析问题时,首先要确保网络连接正常工作。可以通过打开其他网页或使用其他网络工具来确认网络连接是否正常。2. 查看系统的 DNS 配置检查以下两个文件来查看系统的 DNS 配置:/etc/apt/sources.list 文件:检查 dns-nameservers 配置项,确保设置为可靠的、能够解析域名的 DNS 服务器地址。/etc/resolv.conf 文件:检查 nameserver 配置项,同样确保设置为可靠的 DNS 服务器地址。可以使用公共 DNS 服务器,如 Google DNS(8.8.8.8)或国内的公共 DNS(114.114.114.114)。3. 重启网络服务如果修改了 DNS 配置或者发现配置正确无误,但仍然无法解析域名,可以尝试重启网络服务。使用以下命令重启网络服务:systemctl restart networking通过执行以上步骤,您应该能够解决域名解析问题。如果问题仍然存在,可能需要进一步检查网络设置或尝试其他解决方法。
2024年02月19日
664 阅读
0 评论
1 点赞
1
2
3
...
8