齐治/H3C 运维审计系统连接代理
一个用爱(和无数依赖)发电的协议解析工具 🔌
协议解析方法
本工具用于解析神秘代码 accessclient://
协议,整个过程堪比特工解码:
URL 脱马甲 👗
# 去掉协议头,别问为什么设计成 base64 套 zlib,可能就是为了让你多掉两根头发
echo "accessclient://aGVsbG8gd29ybGQK" | sed 's|accessclient://||'
套娃解码 🪆
# 先 base64 解压(误),再zlib解压(其实顺序是对的)
base64 -d | minideflate -d
# 输出结果大概是:{"app":"putty","hn":"主机名","pn":22,...}
JSON 解剖课 🔬
# 用 jq 提取参数,为什么不用 python 解析?问就是哲学问题
jq -r '.hn' # 提取主机名,hn大概是hostname的拼音缩写吧 (╯°□°)╯
依赖关系
本项目的依赖比我的择偶标准还复杂:
依赖包 | 生存必要性 | 吐槽指数 |
---|---|---|
jq | JSON 解析界的瑞士军刀 | ⭐⭐⭐⭐ |
zlib-ng | 数据压缩界的扫地僧 | ⭐⭐ |
passh | 自动输密码的神器 | ⭐⭐⭐⭐ (再也不用担心手速跟不上密码输入了) |
openssh | 老牌 SSH 工具,你值得拥有 | ⭐ |
coreutils | Linux 工具集的瑞士军刀 | ⭐⭐⭐ |
xdg-terminal-exec | 终端弹窗工具 | ⭐⭐ (没有它就像没有门的房间) |
打包说明
使用Nix打包就像玩乐高:
# 一键构建(如果网络不抽风的话)
nix-build package.nix
# 进入开发环境(准备好面对依赖地狱吧)
nix-shell -E 'with import <nixpkgs> {}; callPackage ./package.nix {}'
构建完成后:
- 可执行文件在
result/bin
等你临幸 - 桌面入口文件在
result/share/applications
躺平
免责声明
本工具对以下情况概不负责:
- 因解析过于复杂导致的脱发问题
- 看到 zlib-ng 的
ng
以为是下代技术结果发现还是 zlib 的失落感 - 在自动输入密码时产生的"我到底是不是黑客"的幻觉