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的使用
                     http://bbs.szu.edu.cn/bbsanc.php?path=%2Fgroups%2FGROUP_2%2FSecurity%2Fhacksoft%2FM.1066562414.A

举报

相关文章推荐

HttpTunnel防火墙穿透指南

局域网穿透防火墙,可以使用HTTPTUNNEL,这个软件需要服务端做配合,要运行httptunnel的服务端,这种方法对局域网端口限制很有效。 隐通道技术就是借助一些软件,可以把防火墙不允许的协...

HttpTunnel防火墙穿透指南

局域网穿透防火墙,可以使用HTTPTUNNEL,这个软件需要服务端做配合,要运行httptunnel的服务端,这种方法对局域网端口限制很有效。 隐通道技术就是借助一些软件,可以把防火墙不允许的协议封...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

通过NAT和防火墙特性和TCP穿透的测评(翻译)

原文:Characterization and Measurement of TCP Traversal through NATs and Firewalls 原作者:Saikat Guha Paul...

穿透防火墙技术

最近看了几篇关于穿透防火墙技术的论文,发现其中有两篇很值得学习下,一篇是介绍p2技术的,另一篇是基于反向连接 HTTP隧道和DNS共享穿透防火墙技术,对于P2技术不太熟悉,主要小节下后面三中穿透防火墙...

几种穿透防火墙技术

转载地址: http://www.hackbase.com/tech/2009-09-26/56455.html 以下是本人对几种穿透技术学习笔记和一点自己的想法: 防火墙是基本网...

FMS (端口问题)如何穿透防火墙

先1111是管理端口,就是fms2_console文件连接到server远程管理的时候需要用到的。 首先明确关系: RTMP (默认端口:1935)RTMPT ( http 隧道 - 默认端口...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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