[ISP限制路由器共享上网原理和破解方法 ]
最近,国内两大运营商电信和联通(网通已经不复存在了呵呵)部分地区开始出现限制用户多个人通过路由器NAT方式共享一条宽带,很多朋友肯定相当郁闷了,下边就ISP(即电信和网通等)限制共享的原理和解决方法。
1、ISP绑定了网卡MAC地址接入
破解方法:破解这个太简单了,常见的宽带路由器都有一种叫做“MAC地址克隆”的功能。只要把能上网的网卡MAC地址“克隆”到路由器的WAN口就行了,这个方法网上有很多资料,不详细介绍了。
2、ISP限制了IP数据包的TTL值。
封 锁原理:懂网络原理的朋友应该知道,IP数据包在传输过程中每经过一跳TTL值就会减1,所以如果有人在下面私开NAT的话,ip包经过NAT服务器或者 代理服务器出去之后的TTL值一定为:31、63、127或者254。所以ISP只需要在局端抓取拥有这些TTL值的数据,直接drop掉(即丢掉),就 可以禁止大部份用户用路由器NAT上网了。
常见操作系统的默认TTL值:
Windows 9x/Me:TTL 字段值默认为 32
Linux: TTL 字段值默认为 64
WinNT/2K/XP/2003操作系统:TTL 字段默认为 128
Unix: TTL 字段值默认为 255
破 解方法:既然明白了封锁原理,即数据包每经过一跳路由出去后ttl值就会减1,那么我们只要人为的在操作系统中将TTL默认值增大一跳,譬如在winxp 系统中通过修改注册表,将TTL值改为129,减1出之后正好是128,就可以逃避检查了。注意某些地方ISP可能只允许有限的几个默认的TTL出去。
3、运营商通过检查HTTP包头来封锁代理服务器(不是NAT了)
封锁原理:一般代理服务软件都是伪造http包头来代理内网PC上网,ISP就通过设备检查http包头中是否含有某些代理的特征字符串
破解方法:因为是从应用层来分析特征,这个要破解就有点难度了呵呵,建议还是换成NAT的方式出去。
4、ISP检查同一IP地址的数据包中是否有不同的MAC地址。
封锁原理:据说“网络尖兵”软件在用此方法,但我觉得这种方法根本没有用,因为经过NAT转换之后的IP包文中MAC地址应该也只有一个而非多个,应此不能通过此方法查到用户是否开启NAT服务。
破解方法:网上流传的方法是把“LAN内所有网卡的MAC改成一致”,貌似也不是一个好的解决办法,改成一致后LAN内的PC间怎么通讯?还是应该想办法让NAT/代理出去的数据包中含有的MAC地址始终如一才是真正的解决办法。
5、运营商修改了DNS查询应答包的TTL值
封 锁原理:ISP也有可能会将UDP 53端口(也就是DNS请求)返回包的TTL值设置为1.这样的话,DNS应答的包只能到达下一级主机。如果使用了代理或者NAT,再下一级的TTL值将 为0,这个包就丢掉了。从而实现无法解析DNS,大部份用户也就没法上网。但用户自行修改HOSTS文件手动解析网站或直接通过IP地址访问 Internet是可以的,不过比较痛苦。
破解方法: 最好的办法是使用DNS代理,这个DNS代理服务也只能在NAT服务器(路由器)上跑,让DNS代理帮内网用户传递DNS请求。还有一种办法就是把TTL 给它值改回来!我们可以在路由器上抓取回来的DNS应答包,然后人为的增加TTL值,DNS就可以继续传递给内网了,这个方法也适用于前面那个限制TTL 值出去的案例。只要对出去的所有数据包统一修改TTL值即可,这个技术难度有点大。
六、其它一些手段如:限制TCP连接数、限制P2P、强制用户安装星空极速、通过SNMP协议检查ADSL猫是否开启路由等手段并不是真正从局端来封锁NAT和代理,在这里就不罗嗦了。