代码之家  ›  专栏  ›  技术社区  ›  Allexj

Python-如何创建代理隧道

  •  0
  • Allexj  · 技术社区  · 8 年前

    Wrap packets in connect requests until reach the last proxy

    我了解到,要创建代理链,我必须:

    • 创建套接字
    • 将套接字连接到代理A
    • 通过[a,B]到代理C创建隧道,类似
    • 通过[a、B、C]到D创建隧道
    • ... 直到您的最后一个代理被指示建造到
      最终目标T

    在本例中,http请求:

    CONNECT ipproxy:80 HTTP/1.1
    Host: ?:80
    

    而且,我不知道如何从第三点继续到下一点。。。因为我不知道如何告诉代理A创建一个到代理B的隧道,然后代理B创建一个到代理C的隧道,该隧道通向最终站点。。

    如何使用python的示例?或者一些医生?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Steffen Ullrich    8 年前

    连接时没有主机标头。一、 e.要请求HTTP代理A创建到HTTP代理B的隧道,您只需使用:

    >>> CONNECT B_host:B_port HTTP/1.0
    >>>
    <<< 200 connections established
    <<<
    

    >>> CONNECT T_host:T_port HTTP/1.0
    >>>
    <<< 200 connections established
    <<<
    

    请注意,并非所有代理都允许您连接到任意主机和端口,它们可能也不允许使用任意协议(如隧道内的隧道),而只允许使用选定的协议(如HTTPS)。