帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:TCP  TUN  HTTP  Tunnel  
Tunnel tcp connection through http in Python

  • 源代码名称:http-tunnel
  • 源代码网址:http://www.github.com/khuevu/http-tunnel
  • http-tunnel源代码文档
  • http-tunnel源代码下载
  • Git URL:
    git://www.github.com/khuevu/http-tunnel.git
  • Git Clone代码到本地:
    git clone http://www.github.com/khuevu/http-tunnel
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/khuevu/http-tunnel
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • HTTP隧道

    通过HTTP连接实现TCP连接的程序

    用法:

    在防火墙后面有一个只允许HTTP连接或者连接到标准端口( 如HTTP端口 80 )的客户端时,程序很有用。 你将需要防火墙之外的远程服务器。

    隧道服务器

    在远程计算机上启动tunneld服务器。 服务器侦听由参数 -p 指定的端口,用于从客户端程序中进行HTTP连接。

    python tunneld.py -p <listen_port> 

    然后服务器读取HTTP负载并使用TCP连接将它的发送到目标。 目标是在建立隧道时由客户端指定的。

    通常,在使用默认HTTP端口 80时,隧道实际上很有用,这样防火墙客户端到隧道服务器的连接不会被防火墙阻塞。

    隧道客户端

    启动在本地机器上侦听的隧道客户端。 命令需要本地端口参数。远程隧道服务器及其端口,以及客户端要连接到的目标。

    python tunnel.py -p <client_port> -r <tunnel_server_host>:<tunnel_server_port> <target_host>:<target_port>

    执行这里命令时,客户端发送一个http请求,以使用远程隧道服务器建立隧道。 隧道服务器随后将与目标服务器建立TCP连接。

    示例

    要使用隧道连接到irc服务器:

    # 1. on server machine (remote_host)
    python tunneld.py -p 80
    # 2. on client machine: 
    python tunnel.py -p 8765 -r remote_host:80 irc.freenode.net:6667
    # 3. on the client machine, test the tunnel connection using netcat
    nc 127.0.0.1 8765
    # send irc NICK command to the connection and see the response back from
    the irc server
    NICK abc

    信用:

    这个项目是由 supertunnel项目项目激发的。

    Bitdeli Badge



    文章标签:HTTP  TCP  TUN  Tunnel  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语