我是菜鸟,以目前的水平跟本无法写出这么高水准的程序,这是与电信做斗争时在网上找到的一款工具,至于其工作原理在程序的安装页面有介绍:
共享神矛3.2 for Windows(2K/XP/2003)
一、背景
最近电信、长宽、网通、铁通纷纷开始在山东烟台、江苏省宿迁市、湖北省荆州市、湖北省仙桃市、湖北省武汉市、云南省曲靖市、云南省会泽县、山东省青岛等地使用一种类似于当年网络尖兵的共享上网检测系统,用来检测使用一个帐号多台机器共享上网的用户,用户使用路由器上网以后往往出现以下提示图片:
而自由上网之共享神矛系统就是专门挑落新一代网络尖兵的工具,不光支持共享破解,还支持破解电信的BT封锁和限制,希望大家支持。
二、检测原理分析
共享上网通常使用代理或路由的方式,现在宽带路由器很便宜,大家都是用的路由器共享上网,路由器作NAT、NAPT方式的IP地址转换,把多个内网地址转换成一个公网IP地址。
路由器或者代理只是对IP地址作了转换,从外部来看是看不出来与普通的IP包有什么不同的,那么是如何检测到的呢,我们需要看看在IP报头里就有那些细节会有共享的信息。让我们复习一下IP报文的结构:
版本:IP协议的版本,当前是4。
首部长度:报头首部的长度,4字节的整倍数。
服务类型(TOS):用来表示优先级。
总长度:整个报文首部和数据的长度。
标识(identification):数据报的标识,用来标识出数据长度超过MTU分片时,进行重新组装数据的位置标识。这部分可以用来分析共享上网的特征。
标志:有MF和DF分别标志分片结束和不能分片。
片偏移: 长报文分片后,在原报文中的位置。
生存时间(TTL):数据报在网络中的寿命。
协议: 携带数据使用的协议。
首部校验和:报文首部的校验信息。
源地址:4字节源IP地址。
目的地址:4字节目的地址。
从IP报头的组成来看,最有可能携带内网信息的就是“标识(IPID)”,在每一台内网机器作地址转换时,IPID的序号有规律单调增加是不变的,
12:19:41.000000 10.10.49.204.61993 > 10.199.201.37.http: . [tcp sum ok] ack 4292552168 win 64240 (DF) (ttl 127, id
40255 , len 40)
12:20:23.000000 10.10.49.204.62017 > 10.199.201.37.http: . [tcp sum ok] ack 1 win 64240 (DF) (ttl 127, id
40756 , len 40)
12:21:37.000000 10.10.49.204.62216 > 10.54.226.252.http: S [tcp sum ok] 1820371619:1820371619(0) win 16384 <mss 1460,nop,nop,sackOK> (DF) (ttl 127, id
57601 , len 48)
12:21:40.000000 10.10.49.204.61993 > 10.199.201.37.http: . [tcp sum ok] ack 4293696808 win 64240 (DF) (ttl 127, id
41427 , len 40)
12:22:06.000000 10.10.49.204.61993 > 10.199.201.37.http: . [tcp sum ok] ack 4293946004 win 64240 (DF) (ttl 127, id
41671 , len 40)
12:23:10.000000 10.10.49.204.62017 > 10.199.201.37.http: . [tcp sum ok] ack 1633741 win 64240 (DF) (ttl 127, id
42293 , len 40)
12:24:00.000000 10.10.49.204.61993 > 10.199.201.37.http: . [tcp sum ok] ack 4294795172 win 64240 (DF) (ttl 127, id
42632 , len 40)
12:24:24.000000 10.10.49.204.61993 > 10.199.201.37.http: SFRPW [bad tcp cksum 1748!] 2115643160:2115643180(20) ack 972685314 win 46144 urg 3585 (DF) (ttl 125, id
42893 , len 40)
12:25:05.000000 10.10.49.204.62259 > 10.200.222.45.http: P [bad tcp cksum 6be7!] ack 1 win 19652 (DF) (ttl 127, id
1673 , len 40)
12:25:53.000000 10.10.49.204.61993 > 10.199.201.37.http: . [tcp sum ok] ack 940080 win 64240 (DF) (ttl 127, id
43799 , len 40)
12:25:56.000000 10.10.49.204.61993 > 10.199.201.37.http: . [bad tcp cksum 579d!] ack 1019539 win 17520 (DF) (ttl 125, id
43846 , len 40)
12:25:56.000000 10.10.49.204.62017 > 10.199.201.37.http: E [bad tcp cksum 8380!] 2120652494:2120652506(12) win 11414 urg 5633 (DF) (ttl 125, id
43859 , len 40)
12:26:05.000000 10.10.49.204.62259 > 10.200.222.45.http: R [tcp sum ok] 3206002624:3206002624(0) win 0 (DF) (ttl 127, id
1731 , len 40)
有彩色标记出来的IPID序列号的变化很有规律,一定范围内变化的报文就是由一台机器发出的,因此可以判断有三台机器共享上网。
至于网上提到其它的检测方式,如网络尖兵的SNMP方式、TTL方式、操作系统版本的方式都有很大的误差,而且和用户的电脑配置有很大关系,只有这种检测IPID的方法很准确,
破解方法,根据原理分析,只要打乱IPID的发包规律,或者顺序或者分散IPID就能使电信的检测系统失效,方法:对于代理上网的可以下载修改IPID规律的驱动软件;<http://www.shareip.cn>
另外一种检测方法,利用TCP的报文首部中的可选项,资料上称为时间戳(timestamp),在接收方,用于简单的回应发送方的时间数据,发送方据此来调整发送窗口的大小。不同电脑的时间通常都会不同步,检测系统根据这个选项来判断共享的电脑数量。这种方式破解很简单,把所有电脑的时间尽可能设置一样,或者干脆所有的电脑启用windows XP的时间同步。方法双击时间显示,选Internet时间,启用时间同步即可。
三、编程方法及其效果
固定模式是将IPID固定住,电信怎么检测就是一台。
随机模式就是模仿Linux发包格式,电信要么检测一台,要么检测是几千台,封你可以投诉。
同时将TTL设置为65,通过路由后就和Linux单机上网效果一样,电信胆敢封你就可以投诉,^_^。
效果已经破解武汉、仙桃、曲靖等地均有效果。
增加了内网同步时钟,修改了Useragent,关闭了Windows的自动更新。
四、问题与解决
1、现在电信采用黑名单制度,即检测出一次后他会对这个帐号实时检测,这样就会出现QQ比我们的软件服务先启动的问题,解决办法是QQ密码手工输入,不要采用自动输入!
当然先预防安装的客户不会受到影响!
2、Win2003有时报驱动出错,原因不明,确定后可以正常使用!
3、自由上网服务器启动的时候要同步内网时钟,以后不定期同步时钟。
上传的附件: