公司的服务器需要堡垒机才能登陆, 使用 ssh tunnel 创建 proxy 不太可行.
但可以用 rz/sz 命令上传下载文件.
所以我就想, 文件跟 socket 连接在操作系统看来没有什么本质不同.
那么有没有可能使用 zmodem 协议创建一个 http proxy 呢
这样就可以在本机上连接服务了, 还有其他用处.

公司的服务器需要堡垒机才能登陆, 使用 ssh tunnel 创建 proxy 不太可行.
但可以用 rz/sz 命令上传下载文件.
所以我就想, 文件跟 socket 连接在操作系统看来没有什么本质不同.
那么有没有可能使用 zmodem 协议创建一个 http proxy 呢
这样就可以在本机上连接服务了, 还有其他用处.
1 tairan2006 Feb 24, 2023 用 frp ? 不过你最好别瞎折腾,有可能犯法 |
2 maladaxia OP @tairan2006 用 frp 立即就会被公司运维发现 |
3 ho121 Feb 24, 2023 没研究过,不过盲猜 natcat 可以做到 |
5 seanzxx Feb 24, 2023 没看明白,为什么堡垒机不能用 ssh tunnel 创建 proxy 呢? |
6 flush9f Feb 24, 2023 找现成的 ppp 就可以吧,如果自己写的话,基于 ssh 包一个 tun ,对端直接开 raw 模式就行吧,要不要编码就看有没有命令劫持啥的了。 |
7 ysc3839 Feb 24, 2023 via Android 不需要 rzsz 呀,建立 ssh 后就有了个基于流的管道了,自己实现个 UDP over “TCP”协议,最简单的就是先发包长度然后发数据,走这个管道发就行了,然后对接 tun 虚拟网卡,一个最简单的 VPN 就完成了。 |
8 darrh00 Feb 24, 2023 via iPhone 用信鸽都能实现 tcp ,http 不在话下 |
10 billlee Feb 24, 2023 via Android 远古科技 slirp 可以。 |
11 rrfeng Feb 24, 2023 via Android 我记得本站有人发过一个轮子,就是干这个的。但是没搜到。 |
13 ysc3839 Feb 24, 2023 via Android @kenvix 多谢提醒,找到了这个页面,有很多种方式 https://wiki.archlinux.org/title/VPN_over_SSH |
15 seers Feb 24, 2023 插眼,我司堡垒机是浏览器页面一个插件调起本地 xshell ,也是一直想搞个 ssh 动态端口到本地,但是调起的时候又没地方配置,有时候也需要一个内网环境做些测试,和你需求类似 |
17 ShineyWang Feb 25, 2023 via Android xshell 支持代理,你看看你堡垒机的文档连接方法看看? |
20 maladaxia OP @ShineyWang 不可以的, 因为通过堡垒机跳了好几层, 用的不是标准 ssh |
21 ShineyWang Feb 25, 2023 via Android @maladaxia xshell 支持多层代理的 |
22 ShineyWang Feb 27, 2023 我前两天刚研究了阿里云盾的直连方法 阿里云有介绍透明代理:https://help.aliyun.com/document_detail/61503.html 另外 Xshell 支持 JumpHost,在代理里面可以配置多级代理连接 你可以试试 |
23 maladaxia OP @ShineyWang 感谢回复, 不过 我司的堡垒机是自己研发的, 用的也是修改过的 ssh, ssh tunnel 不可行. 我是 mac 环境, 也没法用 xshell |
24 pp3182429 Mar 27, 2023 最后有方案么?同样遇到可以 ssh 但是无法 tunnel 的情况。不过 szrz 是通的。 |
25 maladaxia OP @pp3182429 还没找到可行的方案. 通过调研, zmodem 是个文本协议. 直接使用 zmodem 协议是不行的. 不过如果通过修改 zmodem 协议, 或者自己设计一个新的文本协议, 技术上是可行的 |
26 beordle Mar 30, 2023 |