|
进了大学,发现寝室里的同学上网居然还要开一个叫“安腾上网助手”的东西,否则就上不了网~
麻烦不说,这家伙还绑了木马。幸好我没电脑,不然也够郁闷的~
闲来无事,打算把这龌龊的家伙给“废”了 D:)
简单的分析了下,既然已拨上了号,上网助手没开不能上网;开了就可以上网了,不外呼两这种可能了:
1。打开上网助手时,上网助手通知了网关服务器,于是你的拨号就有效了;反之,网关服务器没有收到你的通知(未打开上网助手),你的数据就被屏蔽了。
2。打开上网助手后,从电脑里发出的数据包上网助手都被“做了手脚”,而网关服务器只允许这些“做了手脚”的数据包通行。
第1种可能只是为了推理的严密,事实上很少有程序采用。这种可能很容易判否:众所周知,数据在网络上传输都是以包的形式传的。所以当打开上网助手时,观察有没有数据包发出就可以了。
事实上,本地连接的发送数据包并未增加。
更严密的分析:把网线的另端插到一交换机(或集线器)上,不要在该设备上插其他的网线,以免混杂。
这时发现打开上网助手后,交换机的灯也没闪一下。根本就没有数据包的发出。
所以,只能从第2个情况着手。
打开网络嗅探器(推荐Iris4.0)嗅探。
先不运行上网助手。拨号,通过;打开网页,迟迟不得出现(在嗅探器里发现数据包都是有去无回的)。
再打开上网助手,发现输入网址变立即有了回音(即有发出的又有回音的)。
于是,只要分析前后两次发出的数据包的区别,就知道上网助手究竟在包上做了些什么手脚。
然而,一番比较之后发现两个包并无多大的区别。事实上,会发现:再打开上网助手后,把第一次发出却无回音的数据包选中,再发出去,却有了回音~!
难道是嗅探器。。。对,就是嗅探器~!
事实上,嗅探器截到的数据包也未必都是真实的。想深入了解的话可以去搜索有关NDIS的知识。这里简单的叙述下,Windows系统下的网络的内核有3个层次,最此层是网卡的驱动,最高层是协议的驱动(嗅探器就是工作在这层),中间层自身并不收发数据,只是将最高与最低的层次联系起来,负责修改或过滤数据包。
显然,上网助手是工作在中间层。(事实上从他安装的驱动信息上也可以看出的)。
嗅探器的层级还不如他高,当然就不知道上网助手在他之后做了些什么修改了。
分析到这里,看来只有一条路可走:将两台电脑连在一个集线器上,利用集线器的广播性,在另台电脑上分析。不过这样做比较麻烦,还有一个更巧妙的办法:
在电脑上运行一个虚拟机,数据包的发送在虚拟机里完成。不管系统有多么复杂,从虚拟机里发出的数据包总是最后的结果!
这时,重复先前的两次嗅探,截到的便是“真正”的数据包了。仔细的对比,发现UDP数据包的TTL从原先的128被改成199;TCP数据包的WindowSize也被改成了0x5551;ICMP包没变化(上网助手没开Ping网站是有回音的)。
到这里,上网助手做的猫腻终于真相大白了!
卸了上网助手,网速也快了不少,路由器也可以用了。不用在收这家伙的龌龊了:)D
在同学的电脑上试了一个学期,也没出现什么问题。
若是出现什么问题话,mailto:ZJCQoo@163.com
最后公布个“免上网助手补丁.reg”:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000c7
"TcpWindowSize"=dword:00005551
(注:本文仅供网络爱好者参考学习,以此共享上网学校造成的损失自负) |
|