在上一篇《网络访问攻防战》中说到在很多大型企业中和有些国家中为了限制员工或人民访问某些网站或使用某些网络应用程序通常做了一些访问限制限制方法通常有路由器IP过滤和强制使用代理服务器等几种方式那么本篇主要讲述使用代理服务器进行网络访问时攻防战51-论文-网-欢迎您
通过代理服务器进行网络访问很多情况和直接访问网络情况十分相似代理服务器能做到不使用代理服务器所有过滤方式这些过滤方式在上一篇中已经有了详细地说明唯一区别是网络访问攻防全部在代理服务器上进行也说如果你希望应用直接访问网络访问攻防技术到代理服务器中那么首先必须使浏览器或网络应用程序设置了代理服务器51-论文-网-欢迎您
然而寻找访问外网代理服务器地址又是一门学问有些网络环境是在浏览器中直接设置了代理服务器地址和端口获得其地址十分容易;而有些网络环境使用了“自动代理配置脚本”功能以达到访问不同网络使用不同代理服务器功能其中著名AutoProxy插件也使用了这种技术;甚至有些网络环境使用了“自动检测网络代理设置”功能以达到计算机在不同网络环境中都能自动配置代理功能不过在后两种设置网络环境中寻找访问外网代理服务器地址就需要了解这些技术了具体可以参考Proxy auto-config和Web Proxy Autodiscovery Protocol如果不熟悉这些技术也可以通过netstat工具或者sniffer工具找出访问外网代理服务器地址这些技术和工具不在本篇中展开讨论51-论文-网-欢迎您
如果你顺利找到了代理服务器地址那么接下来就可以分析一下代理服务器究竟可以做哪些限制以及如何突破这些限制方法了51-论文-网-欢迎您
略过上一篇中已经详细说明直接访问网络情况下攻防来看看代理服务器还能进一步做哪些过滤在此列举一下通常情况下会碰到过滤方式:51-论文-网-欢迎您
1、域名过滤在使用代理服务器访问网络时会遇到某个域名下所有网页都是访问被拒绝情况这域名过滤然而通常情况下代理服务器对于域名过滤只是通过分析访问地址中域名进行过滤而不是通过HTTP代理协议中Host字段进行过滤那么可以通过把访问地址中域名换成域名对应IP地址来解决这个问题51-论文-网-欢迎您
2、IP地址过滤在访问网络时有时候访问某个IP地址下面网页会出现全部拒绝访问情况和域名过滤一样这种过滤方式很多情况下也只是对访问地址中IP进行过滤那么可以把IP地址换成对应域名解决问题如果这个IP地址域名或者暂时找不到其对应域名也可以为这个IP注册免费二级域名之后就可以把IP换域名了51-论文-网-欢迎您
3、 端口过滤由于浏览网页使用是HTTP和HTTPS协议这两个协议使用默认端口分别是80和443那么为了防止人们使用其他协议很多时候代理服务器也会限制访问外部端口只能是80和443碰到这种过滤方式只能使用支持代理服务器级联软件访问其他端口了但由于HTTP协议是明文传输所以也有很多代理服务器不对HTTP协议端口进行过滤只对HTTPS协议端口限制为443如果需要使用其他协议而其它协议使用端口正好是 443那么正好可以利用HTTPS密文传输特性连接到目标服务器443端口代理服务器无法知道使用是HTTPS协议还是其它协议如果不碰巧其它协议使用端口不是443那么仍旧需要使用支持代理服务器级联软件访问其他端口了51-论文-网-欢迎您
4、探测HTTPS协议头由于HTTPS协议初始握手过程仍旧是明文那么代理服务器可以检测连接到外部443端口协议头如果不是 HTTPS协议那么就断开连接碰到这种过滤方式可以先把正常HTTPS协议头sniff下来加入到通讯双方之后再进行其它协议通讯就可以解决问题51-论文-网-欢迎您
5、NTLM密码认证有些代理服务器使用了NTLM密码认证那么IE用户不会感觉到有问题使用了其它内核浏览器或者其它应用程序时就会提时输入访问代理服务器口令由于很多代理级联软件并不支持需要经过密码认证代理服务器会造成一定麻烦可以使用一款名为NTLM Authorization Proxy Server软件解决问题51-论文-网-欢迎您
6、URL过滤有时候代理服务器为了防止用户访问某一类特定应用——比如bbs——会过滤URL中带bbs所有访问请求碰到这种过滤方式也只能使用代理级联软件了51-论文-网-欢迎您
上面大致讲述了会经常碰到代理服务器过滤方式不过由于代理服务器过滤方式千奇百怪本文无法罗列所有过滤方式而且除了代理级联软件有现成之外其它解决问题方式都需要代理服务器使用者编写网络程序所以其它方式也主要是供大家进行研究51-论文-网-欢迎您
最后我给出使用了HTTP协议进行级联软件源代码(下载)使用方式为java -Dhttp.proxyHost=代理服务器地址 -Dhttp.proxyPort=代理服务器端口 net.tools.web.TunnelClient 本地代理服务器端口 级联代理服务器URL然后就可以使用本地代理服务器进行网络访问了比如必须通过代理服务器192.168.0.200:8080进行外部网络访问可以运行命令java -Dhttp.proxyHost=192.168.0.200 -Dhttp.proxyPort=8080 net.tools.web.TunnelClient 7890 级联代理服务器URL之后把浏览器代理服务器设置为127.0.0.1:7890即可使用我再给出级联代理服务器URL为 http://jinshan.isysjs.cn/tunnel/此URL只供测试使用请勿滥用如果碰到NTLM密码认证情况请参考上述第5种代理服务器过滤方式51-论文-网-欢迎您
如有兴趣继续和我讨论有关代理服务器网络访问攻防战可以去我经常访问论坛(需要使用国外IP进行访问)找我或者直接给我发Email51-论文-网-欢迎您
作者Twitter: @davidsky2012 作者Google Reader: https://www.google/reader/shared/lehui99 51-论文-网-欢迎您
5
1
论文网
让您轻松写作
轻松发表
轻松晋级