Sep 1
2009年在 B 厂实习的时候,人手发一个硬件 token,它有个屏幕,实时显示 6 位 TOTP ,用于登录 relay 机器,再通过 relay 机器登录生产环境的机器。

由于 relay 机器禁用了端口转发等各种 fancy 的能力,所以除了 shell 上的输入和输出外无法实现额外的通信。

好在 SecureCRT 默认支持 zmodem 协议,大家都用 sz/rz 来上传/下载文件,也还算方便。

sz 是基于 zmodem 协议实现的,这个功能在早期的 BBS 上非常实用。

简单说就是,通过发送一个特殊的控制串,告诉 terminal 它想要发送一个文件,支持 zmodem 协议的 terminal 会将后续发送的数据保存到本地文件中。

当然具体的协议细节比较复杂,不是本文重点,就不展开了,详情可参考知乎这位老哥的整理 https://zhuanlan.zhihu.com/p/579720546

继续发散,我们可以想象一下,如果我们实现 2 个程序 A、B:

1. A 通过 ssh 连接到目标机器,打开 B
2. 用 B 的 stdin/stdout 来「模拟」一个 tcp 连接
3. 在这个「tcp 连接」上用 xtaci/smux 实现多路复用
4. 在 A 实现 socks5 的前端(监听),在 B 实现 socks5 的后端(转发)

这样我们就实现了一个穿透了 relay 的代理。

领导:明天去财务处结一下工资,后天不用来了。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]