`

HTTP Tunnel使用的几种使用(经典)

阅读更多

公司的网络该封的都封了, 今天看到有这么个软件, 虽然没有用过, 觉得不一定哪天就用了, 所以收藏到这里.

 

基本概念不多解释了,直入主题。GNU HTTP Tunnel (http://www.nocrew.org/software/httptunnel.html)是一个开源的http-tunnel项目,包括了tunnel server(hts命令)和tunnel client(htc命令),有(x)nix和windows版本。我们就用它来建立自己的tunnel。

1。静态tunnel。

        http-tunnel是一个完全透明的通道,直接将你的连接forward给目标服务端口,因此当你连接tunnel的本地侦听端口时,就相当于直接连接到目标服务端口。例如你要建立一条可以访问外部POP3服务器的隧道,可以建立如下连接:

 

                    htc  ------------> http proxy ------------------------> hts ------------------------------> POP3 serve

        (localhost:8888)             (proxyhost:3128)       (tunnelserver:80)                           (pop3server:110)

在你自己的机器上运行htc,外部充当tunnel server的机器上的80端口运行hts,htc将数据打包成http请求,通过proxy连接到hts,hts解包后将连接forward给POP3服务器。命令如下:

      在tunnel server机器上:

            hts --forward-port pop3server:110 80        

            (将pop3server替换成实际的IP)

      在本地机器上:

            htc --forward-port 8888 --proxy proxyhost:3128 tunnelserver:80  

            (将proxyhost和tunnelserver替换成实际的IP)

 

      通过这样的配置,你可以用Outlook或Foxmail连接本机的8888端口,就相当于直接连接到POP3服务器了。

 

2。动态的tunnel。

        上面建立了一条可以访问POP3服务的隧道,但缺点是只能访问某一个指定的POP3服务器,要访问其他的服务器还得按同样的方法再建立一条隧道,很不方 便。既然hts可以将连接forward给POP3服务器,那让它forward给一个SOCKS5服务,不是就可以实现动态的tunnel,可以连接任 意服务了吗?yeah!没错!我们建立这样的连接:

 

                    htc  ------------> http proxy ------------------------> hts ------------------------------> SOCKS5 serve

        (localhost:8888)             (proxyhost:3128)       (tunnelserver:80)                           (socks5server:1080)

 

命令就不说了,照第一点改一下就行。这样就相当于在localhost:8888运行了一个SOCKS5服务,设置一下你的网络程序(Outlook,NetAnt,FlashGet,QQ......),让他们通过SOCK5访问网络,就OK了。

 

3。利用http proxy的CONNECT支持。

        大多数http proxy支持CONNECT命令,但一般只支持CONNECT到外部服务器的443(https)端口。这是为了允许访问外部的https服务。由于 porxy对于CONNECT的连接是直接转发,不做任何分析处理或缓存,所以利用CONNECT可以获得比较快的速度。

        由于hts和htc不支持CONNECT连接,我们可以使用另一个专门支持CONNECT的程序DesProxy  http://desproxy.sourceforge.net 

来建立一个tunnel。由于使用CONNECT建立了直接的TCP连接,不需要将数据按http格式打包和解包,所以连tunnel server也不需要了,只需要在你原来运行hts机器上运行一个SOCKS5就行了,连接如下:

 

              desproxy  -------------> http proxy ----------------------> SOCKS5 server

         (localhost:8888)           (proxyhost:3128)                    (tunnelserver:443)

 

        desproxy命令的用法:

             desproxy remote_host remote_port proxy_host proxy_port local_port

       在这里remot_host,remote_port就是tunnelserver:443,proxy_host,proxy_port是porxyhost:3128,local_port就是8888。

 

        注意必须把SOCKS5运行在443端口,如果运行在其他端口的话,CONNECT请求会被http proxy拒绝。同样,我们在localhost:8888得到了一个可以访问外部的SOCK5服务。

 

4。最简单,最安全而且快速的方式:利用SSH + CONNECT。

       实际上SSH提供了SOCKS5的功能,利用ssh客户端或PuTTY可以在本地建立一个SOCKS5服务,而且PuTTY也直接支持http proxy,最大的好处是ssh的数据连接是加密的,保证了数据的安全。使用ssh的连接如下:

         PuTTY(或plink) ------------> http  proxy  ---------------------> ssh server

      (localhost:8888)                 (proxyhost:3128)                     (tunnelserver:443->22)

     首先我们要让ssh server在443端口侦听,ssh默认端口是22,我们可以修改ssh的配置,或用iptables将443端口重定向到22端口,服务端的配置就 OK了。然后在PuTTY建立一个new session,填上ssh服务器的ip和port;在"Connection->Proxy"页,填上http proxy的ip和port;在"SSH -> Tunnels"页,"Source port"填本地的端口,在这里我们用8888",Destination"选"Dynamic",按"Add"将这个forward port加上,就OK了。配置完成后,用PuTTY登陆上ssh,用netstat -an可以看到PuTTY已经在localhost:8888侦听了,这是一个SOCKS5服务,下面改怎么用,就不用我罗嗦了吧:-)。另外在 "SSH"页,可以根据要求选择"Protocol options"。保存session后,也可以用命令行的plink命令来利用这个session:

       plink -load session_name           (session_name就是session保存的名称)

登陆后效果也一样。

 

http://javasky.172baby.com/posts/123518.html

分享到:
评论

相关推荐

    http-tunnel http-tunnel http-tunnel http-tunnel

    http-tunnel http-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnelhttp-tunnel

    httptunnel

    httptunnel下载,httptunnel下载地址,httptunnel下载说明

    GNU Httptunnel Code

    开源的Httptunnel,版本3.0.5,稳定版

    Http-tunnel4.0

    Http-tunnel突破单位网管封杀QQ、MSN端口的方法 ,非常好用,

    httptunnel源代码

    非常实用的源代码,穿透防火墙对协议的限制,vc6.0编译通过

    httptunnel源代码(难得的windows版)

    HttpTunnel是一个开源的HTTP隧道实现。利用它能够方便的将自己应用的通讯进行HTTP封装,而不需要对应用作任何修改。是穿透防火墙的利器。现在一般能找到的是linux版本。有人将其移植到了windows平台。

    HTTPTunnel V4.4

    现在有很多公司都为自己的网络加装了防火墙,虽然防火墙主要是为了抵抗外敌,但很多公司也拿防火墙阻止员工任意使用 Internet。如果你有某个位于 Internet 的...别担心,防火墙所挡住的,HTTP-Tunnel NG 现在还给你!

    httptunnel_setup翻越QQ、MSN等端口

    httptunnel_setup翻越QQ、MSN等端口,翻越网络网管封杀的端口。

    HTTPTunnel 444000

    HTTP Tunnel ,一个将HTTP请求加密为隧道的软件,速度还可以,适用于匿名浏览网络。

    Http tunnel

    使用Http通道软件可以突破防火墙的限制,利用唯一Http访问的权限获得其他Internet应用。

    HTTP Tunnel

    tunnel 最简单,最安全而且快速的方式:利用SSH + CONNECT

    HTTPTunnel

    现在有很多公司都为自己的网络加装了防火墙,虽然防火墙主要是为了抵抗外敌,但很多公司也拿防火墙阻止员工任意使用 Internet。如果你有某个位于 Internet 的...别担心,防火墙所挡住的,HTTP-Tunnel NG 现在还给你!

    http tunnel

    通过该软件可以让QQ使用80端发送消息,其实就是在本机上架设HTTP代理!

    HTTPTunnel_v444000

    qq端口被禁用,实现qq登录,附带说明,更改qq设置,实现qq登录。

    HTTPTunnel4

    通过任何防火墙。你可以利用它使用大多数的即时通讯软件(ATM,ICQ,Yahoo等,同时,它支持TCP,SOCKS5,Napster等。

    HTTP-Tunnel Client

    好用好用好用好用好用好用好用好用好用好用好用! 要求一定的英语功底!

    http-tunnel下载

    解脱防火墙的限制,就用此软件,HTTP通道使得不允许的文件也可以传出去

    httptunnel_setup

    httptunnel_setup.ziphttptunnel_setup.ziphttptunnel_setup.ziphttptunnel_setup.ziphttptunnel_setup.zip

    突破网络汉化版(HTTP-Tunnel v4.4.4).exe

    突破网络汉化版(HTTP-Tunnel v4.4.4).exe

    IPv6 tunnel broker服務

    IPv6 tunnel broker服務

Global site tag (gtag.js) - Google Analytics