一、为什么解压后记事本打开乱码
H3C 防火墙导出的 diag_xxxx.gz 不是普通文本压缩包:内部是多段二进制日志、系统运行日志、内存快照、结构化二进制诊断数据混杂文本日志,直接解压用记事本打开二进制片段必然乱码。
iservice 平台可以解析,是因为官方工具自带解析规则,区分文本日志段与二进制数据段、自动转码、拆分日志。
单纯解压 gz 只能拿到原始混合文件,无法直接用 txt 正常阅读。
二、方案 1:Windows 本地拆分正常文本日志(推荐,无需 iService)
步骤 1:正确解压 gz 包
使用 7-Zip 解压 diag_20260730-173440.gz,得到无后缀的 diag 原始文件(不是 txt)。
不要直接双击用记事本打开这个文件。
步骤 2:用工具提取里面可读文本日志(2 种工具任选)
方式 A:Linux/WSL 拆分提取纯文本日志(干净无乱码)
Windows 开启 WSL(Ubuntu),把解压后的 diag 文件放到 Ubuntu 目录。
执行命令,筛选所有可打印文本并导出为正常 txt:
bash
# 提取全部可读字符保存为log.txt
strings diag > firewall_log.txt
将生成的 firewall_log.txt 拉回 Windows,记事本、Notepad++ 均可正常打开查看运行日志、ACL、会话、报错、配置,二进制垃圾数据会被过滤。
方式 B:Windows 工具 Strings.exe(微软官方工具,不用装 Linux)
下载微软 Sysinternals 工具 strings.exe,放到文件同级目录。
打开 CMD,进入文件所在文件夹,执行:
cmd
strings.exe diag > 防火墙日志.txt
生成的防火墙日志.txt就是纯净可读日志,无乱码。
三、方案 2:Notepad++ 编码修正临时查看(只能看部分日志,仍会混杂乱码)
如果不想用命令工具:
用 7z 解压 gz 得到原始 diag 文件,右键→用Notepad++打开。
顶部菜单:编码 → 依次切换尝试:
UTF-8
GB2312/GBK
ANSI
部分配置、系统日志段落会恢复正常,内存 dump、硬件二进制区块依旧乱码,只能零星查看配置。
四、方案 3:本地离线 iService 解析(和云端效果一致,完整看懂诊断包)
不想上传云端,本地完整解析诊断包:
安装 PC 版 H3C iService 本地客户端。
软件内选择「离线诊断分析」,导入你的 diag_xxxx.gz 原始压缩包。
软件自动拆分配置、安全策略、会话表、CPU 日志、故障异常日志,分类展示,完全不会乱码,和网页版 iservice 能力一致。
五、补充说明
无法做到 100% 全部内容都是纯 txt 不乱码
防火墙诊断包本身包含内存镜像、硬件寄存器二进制数据,这部分天生是二进制,任何文本工具打开都是乱码,只有官方解析工具会自动屏蔽二进制块只展示日志文本。
日常排查需求:用 strings 导出 txt 就足够查看配置、掉线日志、ACL、域策略、端口报错。
深度故障分析(内存异常、内核崩溃),必须依靠 iService 解析。
快速最简操作(小白只用这两步)
7z 解压 gz,得到 diag 文件;
用 strings 命令导出成 txt,打开即可查看配置与日志。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论