• 请不要在回答技术问题时复制粘贴 AI 生成的内容
maladaxia
V2EX  ›  程序员

可不可以在 zmodem 协议之上创建一个 http proxy 呢

  •  
  •   maladaxia · Feb 24, 2023 · 3507 views
    This topic created in 1355 days ago, the information mentioned may be changed or developed.

    公司的服务器需要堡垒机才能登陆, 使用 ssh tunnel 创建 proxy 不太可行.
    但可以用 rz/sz 命令上传下载文件.

    所以我就想, 文件跟 socket 连接在操作系统看来没有什么本质不同.
    那么有没有可能使用 zmodem 协议创建一个 http proxy 呢

    这样就可以在本机上连接服务了, 还有其他用处.

    Supplement 1  ·  Mar 31, 2023
    感谢 @beordle 大佬的 https://github.com/beordle/termtunnel
    正是我想要的
    27 replies  •  2023-03-30 23:01:38 +08:00
    keenkiller
    keenkiller
    Feb 24, 2023
    1
    用 frp ?

    不过你最好别瞎折腾,有可能犯法
    maladaxia
    maladaxia
    OP
    Feb 24, 2023
    2
    @tairan2006 用 frp 立即就会被公司运维发现
    ho121
    ho121
    Feb 24, 2023
    3
    没研究过,不过盲猜 natcat 可以做到
    maladaxia
    maladaxia
    OP
    Feb 24, 2023
    4
    @ho121 netcat 需要服务器开放 ip + 端口才能连接上啊,
    因为有堡垒机, 个人电脑不能直接连接上这台服务器
    seanzxx
    seanzxx
    Feb 24, 2023
    5
    没看明白,为什么堡垒机不能用 ssh tunnel 创建 proxy 呢?
    flush9f
    flush9f
    Feb 24, 2023
    6
    找现成的 ppp 就可以吧,如果自己写的话,基于 ssh 包一个 tun ,对端直接开 raw 模式就行吧,要不要编码就看有没有命令劫持啥的了。
    ysc3839
    ysc3839
    Feb 24, 2023 via Android
    7
    不需要 rzsz 呀,建立 ssh 后就有了个基于流的管道了,自己实现个 UDP over “TCP”协议,最简单的就是先发包长度然后发数据,走这个管道发就行了,然后对接 tun 虚拟网卡,一个最简单的 VPN 就完成了。
    darrh00
    darrh00
    Feb 24, 2023 via iPhone
    8
    用信鸽都能实现 tcp ,http 不在话下
    maladaxia
    maladaxia
    OP
    Feb 24, 2023
    9
    @seanzxx 你可以理解为用的是修改过的 ssh 登陆的, 功能有限制
    billlee
    billlee
    Feb 24, 2023 via Android
    10
    远古科技 slirp 可以。
    rrfeng
    rrfeng
    Feb 24, 2023 via Android
    11
    我记得本站有人发过一个轮子,就是干这个的。但是没搜到。
    kenvix
    kenvix
    Feb 24, 2023
    12
    @flush9f 已经有 pppossh 这个东西了
    ysc3839
    ysc3839
    Feb 24, 2023 via Android
    13
    @kenvix 多谢提醒,找到了这个页面,有很多种方式 https://wiki.archlinux.org/title/VPN_over_SSH
    kenvix
    kenvix
    Feb 24, 2023
    14
    @ysc3839 说实话还是尽量不要考虑在 SSH 上跑 L2 或者 L3 级别的协议,这样会有 TCP over TCP 的问题,会让网速变得很拉垮。
    seers
    seers
    Feb 24, 2023
    15
    插眼,我司堡垒机是浏览器页面一个插件调起本地 xshell ,也是一直想搞个 ssh 动态端口到本地,但是调起的时候又没地方配置,有时候也需要一个内网环境做些测试,和你需求类似
    maladaxia
    maladaxia
    OP
    Feb 25, 2023
    16
    @billlee 这种远古科技都快失传了, 网上资料都很少
    ShineyWang
    ShineyWang
    Feb 25, 2023 via Android
    17
    xshell 支持代理,你看看你堡垒机的文档连接方法看看?
    flush9f
    flush9f
    Feb 25, 2023
    18
    @kenvix 我想的是 netgraph 。。有这一个楼主想怎么搞都行。。
    flush9f
    flush9f
    Feb 25, 2023
    19
    @kenvix 这个倒是还好,我现在就是 tcp over tcp, 只要不丢包,和 udp 差别没太大
    maladaxia
    maladaxia
    OP
    Feb 25, 2023
    20
    @ShineyWang 不可以的, 因为通过堡垒机跳了好几层, 用的不是标准 ssh
    ShineyWang
    ShineyWang
    Feb 25, 2023 via Android
    21
    @maladaxia xshell 支持多层代理的
    ShineyWang
    ShineyWang
    Feb 27, 2023
    22
    我前两天刚研究了阿里云盾的直连方法
    阿里云有介绍透明代理:https://help.aliyun.com/document_detail/61503.html

    另外 Xshell 支持 JumpHost,在代理里面可以配置多级代理连接
    你可以试试
    maladaxia
    maladaxia
    OP
    Feb 27, 2023
    23
    @ShineyWang 感谢回复, 不过 我司的堡垒机是自己研发的, 用的也是修改过的 ssh, ssh tunnel 不可行.
    我是 mac 环境, 也没法用 xshell
    pp3182429
    pp3182429
    Mar 27, 2023
    24
    最后有方案么?同样遇到可以 ssh 但是无法 tunnel 的情况。不过 szrz 是通的。
    maladaxia
    maladaxia
    OP
    Mar 27, 2023
    25
    @pp3182429 还没找到可行的方案.
    通过调研, zmodem 是个文本协议. 直接使用 zmodem 协议是不行的.
    不过如果通过修改 zmodem 协议, 或者自己设计一个新的文本协议, 技术上是可行的
    maladaxia
    maladaxia
    OP
    Mar 30, 2023
    27
    @beordle 哇哦, 这就是我想要的
    Thank you very much!

    本来已经研究好 lszrz 和 zmodem 了, 想自己写一个呢
    这下不用费事了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2361 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 13:05 · PVG 21:05 · LAX 05:05 · JFK 08:05
    ♥ Do have faith in what you're doing.