穿越公司防火墙

   在公司不能上网太烦人了,该死的防火墙,防个锤子,我家大门常打开,开放怀抱等你。。。

看看公司的网络组织是如何的,我自己猜测的,如图:

  公司内网和外网(互联网)的界限,可能就是这个防火墙了。公司内网可能是一个小型的局域网,公司员工可以打联网

游戏,上公司主页,等等。走的都是内部线路,但是如果要访问新浪微博等,就要透过防火墙,去连接新浪微博的服务器。

防火墙起到隔断,保护内部的作用。一般外网访问公司内网主页是访问不了的,安全的缘故。当然,也是有办法让外网访问

内网的某台机器的,好像是用端口映射吧。因为防火墙是内网和外网的交界,所以具有两个网络的特性(即,有权限能访问

内网和外网)。防火墙和外网成一体,只要开启端口映射,把某个端口映射到内网某台机器的端口,即可让数据流向内网的

机器。防火墙的过滤作用是什么强大的,有很多种过滤方式,通过IP,端口,报文分析等等。假设谷歌是个不良网站,我要

不让公司内部人员访问谷歌怎么办?就把谷歌列入防火墙黑名单吧,用IP匹配吧。当公司内部人员输入谷歌网址,一个TCP

报文出去,防火墙是无法越过的,防火墙一看,这个IP在名单里面, 自动断开,这样就起到了限制某个特定网站的作用。

如果要拦QQ怎么办,QQ可能有深圳服务器,成都服务器,一个连不上,可能会自动换一个IP去尝试,但是端口一般是固

定的,所以用端口可以阻拦内网访问QQ。但是还有更高级的技术,由于网路上一般是明文传输,防火墙是可以看到你报文

内容,报文分析如果你输入了敏感词,防火墙自动断开你和外网的连接。我们公司的公司防火墙一般不防FTP,telnet端

口,意味着你在公司可以自由访问外部FTP服务器,和telnet外网主机。防火墙端口限制一般是对外的。对内一般防火墙是

不开放的。比方说你不能在家telnet公司主机,因为这样很不安全,一般公司是不会把内网暴露给外网的。至于什么VPN,

tunnel技术,ssh等等,那属于加密技术了。我们不谈这个。如果访问互联网,公司一般有个代理服务器,即所有人上网

必须经过这个代理。代理当然有好处,可以利用缓存节约带宽,方便控制等等。一般上网你会设置IE的网络连接,设置公司

的代理即可上网了。郁闷的是,有时候,即使你设对了代理,但是新浪博客还是访问不了,为什么,原理防火墙屏蔽了新浪

博客的IP。怎么办呢?还是用代理。以上图为例,外网有三个服务器,一个是网易,一个是搜狐,一个是新浪,公司封了新

浪的IP,怎么办?如果搜狐能做点好事就好了,帮我把新浪的网页下载到它的服务器上,我要新浪什么,它搜狐就给什么,

不就逃过了防火墙的封锁了吗?是的。这就是代理的原理。充当一个中介,代理人的作用。当然一定要搞清楚,代理是代理

的谁,有些同学会愣头愣脑假设代理,会架到公司内网,这样是不行的。内网和外网这条路还是不同,所以没有。要访问不


能访问的外网,只能把代理架在和能访问的外网同等位置上,其冒充正常主机的作用!

以上图为例,我们要上QQ怎么办,QQ可不是用的Http协议,它只是用TCP来通信。但是公司封了其他所有端口只能用

HTTP代理来通信,怎么办?先从底层通信思考一下。如果我能上网的话,表明我有通信的能力,这个能力是有的。但是这

个能力限制很多,端口了,Ip了什么的。这都是防火墙搞的鬼,如果我们能仿造上个例子,欺骗防火墙,不就可以了吗?

http 代理的意思,我只接受http协议的请求,例如,http 网易, http代理开辟个连接,把网易送来的东西再给个人主

机,那么好吧,我们在内部架设一个应用代理,内部应用的请求,不论什么,我都给其加一层http协议。http 外网应用代

理,这样http代理,就会把我们应用的信息发给外网应用代理服务器。我们再从头说起: QQ发送一个原语: (QQ协议--

我要到腾讯主机获得好友列表),应用代理包装 (http---外部应用代理(QQ协议--我要到腾讯主机获得好友列表))。

代理反应,开启连接,把(QQ协议--我要到腾讯主机获得好友列表)送到外部应用代理。外部应用代理,根据QQ的要求,

起一个连接,连接腾讯,获得数据包,数据包要么再封装Http协议返回,或者直接就用TCP层返回。最后,QQ能获得腾讯

给的原始数据。这个过程中,虽然腾讯IP被封,Http代理要求http协议,但是我们都欺骗了防火墙和http代理。所以换个

马甲,还是实现了通信。SOck5代理好像是这样的。不过没有仔细研读Sock5的文档,我想从直观或者本能上来实现这个

欺骗原理,所以下一步希望能在公司机器上实现。不过涉及东西挺多的,最麻烦的可能是NTLM验证了,不过好像用java

访问只要设置一下代理,也不需要什么验证。希望能实现吧。

http://www.fire-drill.com/support.html#serverconf

这个网址,老外已经实现了sock5的产品,挺好使的。老外就是强啊,代码很规范,大气,严谨,周密。

这是一个成功的fire-drill的模板!

[CLIENT]
socks
listen 3333
tunsvr tun2.fire-drill.com 80
cliauth ACUHDXKNYUAC 8D6CCbp2

proxy 172.19.4.40 8080
proxyauth wh081966 Bigguo$321
 

猜你喜欢

转载自envy2002.iteye.com/blog/939669