Holmesian Blog

电信如何检测多台电脑上网

鉴于这次回家帮好友对抗电信成功反被动探测实现多用户共享宽带上网,体会颇多,故作此文,本文主要简单分析下电信如何检测用户端多台电脑共享网络,但平常经常见到的通过强制在客户端安装互联星空软件等软件来限制单用户上网的形式及其破解方法不在本文的讨论范围之内。或许将来会有其他的文章来专题讲解。

大家共享上网,一般都是用路由器作NAT或者NAPT方式的IP地址转换,把多个内网地址翻译成一个公网IP地址.路由器或者代理只是对IP地址作了转换,单从外部上看是看不出来与普通的IP包有什么不同的,那么共享上网是如何被检测到的呢?

现在就我的一些经验和理解做一些推断(通过实战+套10000号的接话员的话+在电信技术部刺探)。

电信检测一般分两大类方法:第一种是主动检测,第二种是被动探测。现在基本上都在向被动探测靠拢,主动探测作为辅助手段。

所谓主动探测就是电信的机房对其分配给你的IP进行扫描,简单地说就是你到网上随便去下个什么扫描器,对这一段IP进行乱扫,看看他是不是开了80端口,是不是有161端口等,初步踩点以及获取一些信息,如果你的路由或者小猫没有修改默认口令的话就顺便登陆一下。以前一些弱智的小猫小路由开放了简单网络管理服务,为电信部门敞开了161端口的大门,使得当时是共享一次杀一次。当然现在的路由固件都基本修复了这些弱智的行为。

被动探测才是真正的杀手锏,被动探测就是电信有一套完整的机制系统(例如网络尖兵)来检测从你电脑或者路由中发出来的数据包,通过分析数据包的内容来判断你是否用一个帐号上了多台计算机(无论你是通过路由或者是一台电脑充当代理!)。

首先我想告诉大家的就是其实电信部门并不是自己去做检测多用户共享上网的事,一般他们都是购买专业的公司或者组织的服务并建立长期合作关系的,电信只管他的运营,这种检测的技术和差事一般都是由这些相应的公司去做的。这其中得原由我们不得而知。电信经常使用的产品包括网络尖兵、星空极速和南京信风等,其中在被动检测中网络尖兵最为常见,星空极速我们听得比较多。

网友曾经分析过网络尖兵使用的所有技术,并将一些结论放在网上,我看过一些,感觉其的确很强大,而且很BT,只是深究下去太过冗长,现在我们就单从数据包来看看网络尖兵是怎么来判断多用户共享上网的:

我们知道用IP协议构建的互联网,一共有5层结构,电信能获取的只有从第三层到第五层的东西,至于网上盛传的伪造MAC地址的方法肯定不行,原因很简单MAC地址出路由器的时候就被重新封装,电信根本拿不到。 至于应用层分析,曾经网络尖兵有过一些比较BT的检测尝试(例如检测并发数,检测QQ帐号登陆数量等),但是效果及其不好,不少正常上网行为也被封杀了,在强大的舆论压力下这些检测都已经非常少见了(估计被列为辅助规则),基于应用层千差万别的应用特性,估计他们基本没这个技术能力依靠这层来确定单个帐号上网的机器数量。

由此说来看来只有分析IP和TCP包头了,仔细分析IP报头看看到底有那些信息可能泄漏我们内网机器得数量。看一下IP报文的结构:

0 | 4 | 8 | 16 31 ---|---|---|--- 版本 | 首部长 |
服务类型| 总长度 标识 | 标志 | 片偏移量 寿命 | 协议 | 首部校验和
源端IP地址 目的端IP地址 长度可变的任选字段 | 填充 数据 …

  |   |   |   |   |
版本:IP协议的版本,现在主流都是4,教育网中有6。  
首部长度:报头首部的长度,4字节的整倍数。  
服务类型(TOS):每台机器都一样,用来表示优先级。  
总长度:整个报文首部和数据的长度。  
标识(identification):数据报的标识,用来标识出数据长度超过MTU分片时,进行重新组装数据的位置标识。  
标志:有MF和DF分别标志分片结束和不能分片。  
片偏移: 长报文分片后,在原报文中的位置。  
生存时间(TTL):数据报在网络中的寿命。  
协议: 携带数据使用的协议。  
首部校验和:报文首部的校验信息。  
源地址:4字节源IP地址。  
目的地址:4字节目的地址。  

单从IP包头的组成来看,携带内网信息的应该有“标识(identification)”,在每一台内网机器作地址转换时,IP-IP的序号也是没变化的,而且每台安装了Windows的机器的IP-ID又是随机地从一个数开始,一次递增,根据其离散性很容易就能判断有多少台机器在同时使用宽带,所以说IP头中的“16位标识(identification)”是极其有可能被检测的一个重要参数,而16位标识(identification)貌似只有Windows系统才有,故16位标识(identification)在网上又被不少网友称为Windows的IP指纹信息。举例来说,在一段时间内,电信的检测系统发现某个源IP地址有三段identification在连续变化,则说明该“黑户”在这段时间内最少有三台机器在同时使用宽带。

作为辅助判断的应该还有TTL:TTL值不同的操作系统不同,而且TTL值每经过一个节点都会减1,所以电信通过检查从每个帐号里发出来的IP包里的TTL值是否是32、64、128这几个定值,就能够初步判定用户是否使用了NAT技术了。

另外MTU部分也可以作为电信分析共享上网的特征,因为ADSL的MTU和内网的MTU大小是不同的,如果没有设置好就很容易被检测出,(注:IPID为Windows操作系统特有的标识)

当然我这只是从数据包的角度初步分析一下电信可能使用的方法,实际上其使用的还有很多其他的辅助方法,按网上的一些DX的说法,电信的检测系统还经常使用钟偏移检测法、应用特征检测法等比较BT的方法,要突破起来虽然说不是不可,但是相对来说就比较麻烦了。

总之突破限制共享上网的根本原理:将所有共享上网的机器发出的数据包在出路由前伪装成一台计算机发出并在返回时能按要求重新发放给相应的机器

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »