HttpTunnel--穿透防火墙的利器

转载 2012年03月23日 13:12:54
  使用Http通道软件可以突破防火墙的限制,利用唯一Http访问的权限获得其他Internet应用。那么什么是通道呢?这里所谓的通道,是指一种绕过防火墙端口屏蔽的通讯方式。防火墙两端的数据包封装在防火墙所允许通过的数据包类型或是端口上,然后穿过防火墙与对方通讯,当封装的数据包到达目的地时,再将数据包还原,并将还原后的数据包转交到相应的服务器上。
  http://www.http-tunnel.com是一个专业提供Http通道服务的公司,通过他们的在线TunnelServer,局域网内的用户可以使用被防火墙所屏蔽的ICQ、E-mail、PC Anywhere、MSN、 QQ、Napster等软件。当然我们也可以建立自己的Tunnel Server 服务器,使用该公司开发的httptunnel软件即可,目前官网上提供的版本是Download v4.4.4000
      最新版本没有测试过,不过稍老的版本对付一般的环境已经够用了
      如果大家不弃,这里给一个v2.4版本的下载地址
      http://www.ussrback.com/UNIX/unixmisc.htm
  HTTPTunnel,Tunnel这个英文单词的意思是隧道,通常HTTPTunnel被称之为HTTP暗道,它的原理就是将数据伪装成HTTP的数据形式来穿过防火墙,实际上是在HTTP请求中创建了一个双向的虚拟数据连接来穿透防火墙。
  说得简单点, 就是说在防火墙两边都设立一个转换程序,将原来需要发送或接受的数据包封装成HTTP请求的格式骗过防火墙,所以它不需要别的代理服务器而直接穿透防火墙。
  HTTPTunnel刚开始时只有Unix版本,现在已经有人把它移植到Window平台上了,它包 括两个程序,htc和hts,其中htc是客户端,而hts是服务器端,我们现在来看看我是如何用它们的。
  比如开了FTP的机器的IP是192.168.1.231,我本地的机器的IP是192.168.1.226,现在我本地因为防火墙的原因无法连接到 FTP上,现在用HTTPTunnel的过程如下:
  第一步:在我的机器上(192.168.1.226)启动HTTPTunnel客户端。启动MS-DOS的命令行方式,然后执行htc-F 8888192.168.1.231:80命令,其中htc是客户端程序,-f参数表示将来自192.168.1.231:80的数据全部转发到本机的8888端口,这个端口可以随便选,只要本机没有占用就可以。
  然后我们用Netstat看一下本机现在开放的端口,发现8888端口已在侦听。
  第二步:在对方机器上启动HTTPTunnel的服务器端,并执行命令
  “hts -f localhost:21 80”,这个命令的意思是说把本机21端口发出去的数据全部通过80端口中转一下,并且开放80端口作为侦听端口,再用Neststat看一下他的机器,就会发现80端口现在也在侦听状态。
  第三步:在我的机器上用FTP连接本机的8888端口,现在已经连上对方的机器了。
  可是,人家看到的怎么是127.0.0.1而不是192.168.1.231的地址?因为我现在是连接本机的8888端口,防火墙肯定不会有反应,因为我没往外发包,当然局域网的防火墙不知道了。现在连接上本机的8888端口以后,FTP的数据包不管是控制信息还是数据信息,都被htc伪装成HTTP数据包然后发过去,在防火墙看来,这都是正常数据,相当于欺骗了防火墙。
  需要说明的是,这一招的使用需要其他机器的配合,就是说要在他的机器上启动一个hts,把他所提供的服务,如FTP等重定向到防火墙所允许的80端口上,这样才可以成功绕过防火墙!肯定有人会问,如果对方的机器上本身就有WWW服务,也就是说他的80端口在侦听,这么做会不会冲突?HTTPTunnel的优点就在于,即使他的机器以前80端口开着,现在这么用也不会出现什么问题,正常的Web访问仍然走老路子,重定向的隧道服务也畅通无阻!
  HTTPTunnel,Tunnel这个英文单词的意思是隧道,通常HTTPTunnel被称之为HTTP暗道,它的原理就是将数据伪装成HTTP的数据形式来穿过防火墙,实际上是在HTTP请求中创建了一个双向的虚拟数据连接来穿透防火墙。说得简单点,就是说在防火墙两边都设立一个转换程序,将原来需要发送或接受的数据包封装成HTTP请求的格式骗过防火墙,所以它不需要别的代理服务器而直接穿透防火墙。HTTPTunnel刚开始时只有Unix版本,现在已经有人把它移植到Window平台上了,它包括两个程序,htc和hts,其中htc是客户端,而hts是服务器端,我们现在来看看我是如何用它们的。比如开了FTP的机器的IP是192.168.1.231,我本地的机器的IP是192.168.1.226,现在我本地因为防火墙的原因无法连接到FTP上,现在用HTTPTunnel的过程如下:
  第一步:在我的机器上(192.168.1.226)启动HTTPTunnel客户端。启动MS-DOS的命令行方式,然后执行htc -F 8888 192.168.1.231:80命令,其中htc是客户端程序,-f参数表示将来自192.168.1.231:80的数据全部转发到本机的8888端口,这个端口可以随便选,只要本机没有占用就可以。
  然后我们用Netstat看一下本机现在开放的端口,发现8888端口已在侦听。
  第二步:在对方机器上启动HTTPTunnel的服务器端,并执行命令
  “hts -f localhost:21 80”,这个命令的意思是说把本机21端口发出去的数据全部通过80端口中转一下,并且开放80端口作为侦听端口,再用Neststat看一下他的机器,就会发现80端口现在也在侦听状态。
  第三步:在我的机器上用FTP连接本机的8888端口,现在已经连上对方的机器了。
  可是,人家看到的怎么是127.0.0.1而不是192.168.1.231的地址?因为我现在是连接本机的8888端口,防火墙肯定不会有反应,因为我没往外发包,当然局域网的防火墙不知道了。现在连接上本机的8888端口以后,FTP的数据包不管是控制信息还是数据信息,都被htc伪装成HTTP数据包然后发过去,在防火墙看来,这都是正常数据,相当于欺骗了防火墙。
  需要说明的是,这一招的使用需要其他机器的配合,就是说要在他的机器上启动一个hts,把他所提供的服务,如FTP等重定向到防火墙所允许的80端口上,这样才可以成功绕过防火墙!肯定有人会问,如果对方的机器上本身就有WWW服务,也就是说他的80端口在侦听,这么做会不会冲突?HTTPTunnel的优点就在于,即使他的机器以前80端口开着,现在这么用也不会出现什么问题,正常的Web访问仍然走老路子,重定向的隧道服务也畅通无阻!
 
 参考文章:使用Http通道突破防火墙限制方法简介
                 http://www.isec.org.cn/hotnews.asp?id=590
                      httptunel的使用

利用外网主机穿透本地网络防火墙

这篇文章主要记录了一种穿透本地防火墙的方法,即反向连接。笔者将一边学习实践,一边写下这篇文章,过程可能不是最简洁的,只为自己和后人留下参考而已。 笔者需要达到的目的: 笔者使用的主机A,在...
  • sch0120
  • sch0120
  • 2015年08月07日 00:41
  • 1731

让Socket穿透Windows防火墙

创建了ServerSocket以后,并不是没事了,其实上,为了系统安全考虑,创建服务器套接字后,只是创建成功了,但是在数据包入站的时候呢,会被防火墙过滤,因此,我们就收不到来自网络的数据了。 因此,在...
  • zuishikonghuan
  • zuishikonghuan
  • 2015年08月28日 16:20
  • 5608

UDP防火墙穿透原理与分析

 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念:  NAT(Network...
  • zougangx
  • zougangx
  • 2008年09月12日 20:27
  • 2892

穿透ARP防火墙控制局域网电脑网速

以前“P2P终结者”可以让我们随心所欲的控制局域网内任何一台电脑的网速,还可以切断他的公网连接。但是现在“ARP防火墙”的兴起让“P2P终结者”走向了灭亡,也让ADSL共享的朋友范了愁。不少人在ARP...
  • jtgxfstcaaa
  • jtgxfstcaaa
  • 2009年10月11日 19:17
  • 1171

穿透防火墙建立UDP连接

知道现在流行的P2P软件和IM软件是如何让两台分处在不同防火墙后面的电脑直接对话的吗?SIP当然是一种,还有一种被广泛应用的就是本文介绍的UDP Hole Puching技术。 为了便于讲述,我们假...
  • zhhxidian2005
  • zhhxidian2005
  • 2007年08月05日 08:44
  • 569

解决华为USG2110-F防火墙PPTP无法穿透,无法连接VPN

公司新办公室买了一个 华为USG2110-F 的路由器,但是悲剧的是,VPN连不上了。折腾了一天,痛苦中抖了一下机灵,找到了解决办法: 解决办法就是:找客服!...
  • chenggong2dm
  • chenggong2dm
  • 2016年08月31日 14:49
  • 4420

UDP Hole Puching技术:穿透防火墙建立UDP连接

在防火墙上钻孔【UDP Hole Puching】:穿透防火墙建立UDP连接 知道现在流行的P2P软件和IM软件是如何让两台分处在不同防火墙后面的电脑直接对话的吗?SIP当然是一种,还有一种被广泛应...
  • Beyond_cn
  • Beyond_cn
  • 2014年07月10日 17:45
  • 965

WebRTC穿透服务器防火墙配置问题

1.问题 WebRTC中用到的turnserver ,提供了不同网络的穿透功能,使得不同终端可以进行视频能聊天.Turnserver在自有的服务器上运行正常,部署到阿里云服务器时,无法正常建立视频连...
  • gudufeiyang
  • gudufeiyang
  • 2017年07月13日 10:43
  • 787

http tunnel 原理 及 穿透防火墙方法

转自 http://blog.csdn.net/blue_dream_/article/details/1905697  http tunnel 原理 及 穿透防火墙方法-1 tunn...
  • zzzhktk
  • zzzhktk
  • 2014年01月20日 21:59
  • 1553

rmi穿越防火墙

http://wangse.javaeye.com/admin/blogs/173540     前段时间写了一个全文检索服务,用的是RMI远程调用。在本机上写好后,测试ok.但一部署到服务器上...
  • AsenWei
  • AsenWei
  • 2012年04月10日 16:20
  • 2274
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HttpTunnel--穿透防火墙的利器
举报原因:
原因补充:

(最多只允许输入30个字)