关于代理的一些理解,请大家帮我看下对不对 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yezheyu
V2EX    程序员

关于代理的一些理解,请大家帮我看下对不对

  •  
      yezheyu 2023-03-27 17:46:55 +08:00 3321 次点击
    这是一个创建于 931 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前对代理一直半懂不懂,对于如何设置代理软件,一直玩不太明白

    今天看了些文档,感觉代理的主要功能就是消息转发。

    我按照个人的理解画了个图,大家帮我看看,我的理解有偏差吗?

    10 条回复    2023-03-28 21:24:43 +08:00
    kop1989smurf
        1
    kop1989smurf  
       2023-03-27 17:49:25 +08:00   1
    中间还差了一个拦截的过程。

    严格意义上讲,开了代理软件以后,所有的 http 请求都会走代理,只不过有的被分配到 direct ,有的被分配到走节点( PAC/规则模式)。
    kop1989smurf
        2
    kop1989smurf  
       2023-03-27 17:50:04 +08:00
    勘误:“开了代理软件以后” => “打开了代理软件的系统代理模式以后”
    cnuser002
        3
    cnuser002  
       2023-03-27 18:12:57 +08:00
    没毛病啊。
    NoOneNoBody
        4
    NoOneNoBody  
       2023-03-27 18:57:30 +08:00   1
    没太大毛病
    如果只是“玩”(用),也没必要理解得太透彻,搞清每个步骤的进|出协议就够了,中间怎么换就交给软件完成

    就如穿几件衣服,不穿别人能直接看到皮肉,穿哪一件在最外面,看到的就是那件的样子
    这几件衣服码号是相同或相近的,因为你的身体尺寸摆在那,但具体每一件,拿尺子量还是不同的,因为外套总要考虑里面有其他衣服的厚度

    如果几个工具,一个端口接另一个,就是串联,如果没有接起来,就是并联或者独立
    你可以在 socket 和 browser 之间再加一个,做其他工作,例如拦截某些域名不发送或者不接收,当防火墙用也行
    leafin
        5
    leafin  
       2023-03-27 19:06:42 +08:00   1
    socks5 协议是浏览器到代理客户端的协议,客户端到服务器的协议是各种自定义的代理协议
    josexy
        6
    josexy  
       2023-03-28 01:02:11 +08:00 via Android   1
    一般来说 socks5 客户端和服务端均在本地实现,因为 socks5 是明文传输的。
    以 shadowsock 为例,一般分为 ss-local 和 ss-server ,具体的请求流程是:本地浏览器 /用户程序 -> 本地 ss-local(实现 socks 服务器,监听来自 socks 客户端的请求,当然也可以监听 http 请求) --(走 shadowsock 协议)--> ss-server -> 目标服务器(比如 Google )
    sillydaddy
        7
    sillydaddy  
       2023-03-28 09:39:46 +08:00
    对,就是转发。如果关注隐私的话,还要稍微深入了解一下,比如如果 proxy server 被黑客登录了,那么黑客能不能拿到你的访问记录,或者换个说法,如果你用了别人的机场,他能否看到你的浏览记录。
    Hccake
        8
    Hccake  
       2023-03-28 17:01:59 +08:00
    1. 本机的代理工具,以下简称 client, 一般同时支持 http 代理和 socks5 代理,所以浏览器到 client 之间可以是 http 协议也可以是 socks5 协议,取决于你的配置。

    2. client 和 proxy server 之间可以使用各种自定义协议,如 ss 、trojan 等,几乎不会使用 socks5 ,因为 socks5 是明文协议,特征明显,分分钟被 ban.

    全流程就是:浏览器将流量发送到 proxy client ,client 接收流量后根据对应的代理协议对原始流量进行包装,并转发到 proxy server, proxy server 接收到数据后再其解包获得原始流量,转发到最终目标地址。
    yezheyu
        9
    yezheyu  
    OP
       2023-03-28 19:52:56 +08:00
    @Hccake @kop1989smurf @NoOneNoBody @josephxrays @sillydaddy 首先谢谢大家!

    所以,如果浏览器到 proxy client 之间如果使用的 socks5 ,是谁把原本用户使用浏览器发出的 http 请求转换成 socks5 呢?

    是 switchyomega 这个插件吗?那这个 switchyomega 实际上也是扮演着一个微型的代理角色是吗?

    而在代理软件上,一般我们也可以进行流量的访问控制,所以我们可以把 PAC 写在 switchyomega ,也可以写在 shadowsocks 上对吗?


    游戏加速器也是类似这种架构吗?

    加速器软件代理游戏发出的 UDP 请求,通过自己的专线发给国外的代理服务器,再交给游戏服务器。收到数据后再原路返回
    Hccake
        10
    Hccake  
       2023-03-28 21:24:43 +08:00
    switchyomega 插件应该只是管理浏览器的代理行为,控制浏览器要不要走代理,走哪个代理,具体的流量请求行为应该是 chrome 内核处理的,所以浏览器才是所谓的 socks5 client 。

    proxy client 是个中转服务,肩负多重角色,对于浏览器来说,它是 socks5 server, 对于代理服务器来说,它是代理客户端。

    switchyomega 和 proxy client 都可以实现流量的转发控制。

    游戏加速器基本流量转发流程一致,主要是多了一个针对指定游戏的流量处理。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1069 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:21 PVG 02:21 LAX 11:21 JFK 14:21
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86