V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maladaxia
V2EX  ›  程序员

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

  •  
  •   maladaxia · 2023-02-24 16:00:22 +08:00 · 1786 次点击
    这是一个创建于 421 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    第 1 条附言  ·  2023-03-31 00:20:18 +08:00
    感谢 @beordle 大佬的 https://github.com/beordle/termtunnel
    正是我想要的
    27 条回复    2023-03-30 23:01:38 +08:00
    tairan2006
        1
    tairan2006  
       2023-02-24 16:04:08 +08:00
    用 frp ?

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

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

    本来已经研究好 lszrz 和 zmodem 了, 想自己写一个呢
    这下不用费事了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1692 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:37 · PVG 00:37 · LAX 09:37 · JFK 12:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.