【问题标题】:How to program an http tunnel如何编写 http 隧道
【发布时间】:2013-02-10 13:09:18
【问题描述】:

我基本上想捕获选定端口中的所有数据包并通过 HTTP 传输它们。 最好的方法是什么? 我应该为此使用像 SharpPcap 这样的数据包捕获程序吗?

编辑:我想允许 2 台运行安全网络的计算机相互连接。 为此,我需要编写一个客户端程序和一个服务器程序。 所以client1会通过HTTP将数据包发送给服务器,服务器会通过HTTP将数据包发送给client2。

【问题讨论】:

    标签: c# port packet-capture http-tunneling


    【解决方案1】:

    你的问题有点含糊,通过HTTP传输它们是什么意思?将它们转移到哪里,然后做什么?

    以 Tor 为例。 Tor 会在本地设置一个 SOCKS 和 HTTP 代理供你使用。只要客户端支持其中一种协议,您就可以连接到代理。然后,本地代理将通过 Tor 网络将请求路由到一个出口节点,然后该节点将连接到更广阔的世界。

    在您的情况下,您需要类似的东西。本地的 SOCKS 或 HTTP 代理,然后将 HTTP 请求发送到某个出口点,然后该出口点将真正执行相关请求。

    您在任何时候都不需要进行数据包捕获,因为这只会使事情变得过于复杂,并且在另一个层面上起作用。

    【讨论】:

    • 基本原理还是一样,CodeProject有很多不同的例子,以这个为例-codeproject.com/Articles/71871/…
    • 但是在客户端怎么抓包呢?只使用 TcpListener?你不需要别的吗?
    • 您不需要捕获数据包。如果您的客户端(网络浏览器或其他)支持 SOCKS,您可以将其配置为通过它进行路由。进行数据包级隧道传输是另一回事,我认为目前超出了您的技能范围。首先让 SOCKS/HTTP 代理工作。
    • 如果它不支持 SOCKS?那就是说我需要抓包?
    • 如果它本身不支持代理,那么是的,但你是在自找麻烦。
    【解决方案2】:

    我刚刚搜索了“http 隧道示例”并找到了以下链接。也许他们会帮助你。

    Link 1

    Link 2

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多