|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
在开发icc3000认证计费系统的客户端过程中,对于防止客户机使用代理,nat服务器,积累了这样一些经验,拿出来和大家共享:
1 要想有效的防止proxy,nat等一机带多机的共享技术,必须强制客户使用客户端软件来认证.否则免谈.没有任何办法能防止住代理.
2 技术手段不是唯一的,只能做到防止大部分人.对于少部分用户,还是没有办法防止住.
3 从技术上来说有这样一些手段
3.1 对于nat共享上网,有两种方式,单网卡nat和双网卡nat,对于双网卡NAT,可以用的防止技术有在客户端读取其网卡数量,然后不允许多网卡进行认证.对于单网卡Nat来说.就需要通过捕获数据包来判断了.建议使用winpcap3.1库来做.因为需要sniffer到数据链路层,对通过网卡的数据流进行分析,NAT总是有一个特点,就是流过的数据源地址和目的地址都不是本机的.如果发觉大量的这种数据流过,则证明有NAT服务器.当然同时需要过滤必须MAC地址是本机的,这样这条规则即使在HUB环境下也适用.
3.2 对于http的proxy,其有一个特征码,就是"GET http://"或者"POST http://",而普通的http请求是"GET /"或者"POST /",通过这个特征可以检测出客户机是否使用了HTTP代理
3.3 SOCKS代理分两钟,socks4和socks5,都差不多,也可以提取去特征码来判断,socks有明显的特征,就是socks开始的时候总有个协商的过程,通常发的报文是05 01 00或者04 01 00开头的,通过对比这些特征,还有字节大小等,基本上可以检测出来是否使用了socks代理.
4 除了报文检测技术外,还可以通过流量控制,连接数限制等一系列的手段来防止代理.
综合这些技术手段,相信大部分代理还是可以防止住的.在配合一定的管理手段.就更好了. |
|