学院首页>操作系统>Linux>电力猫在Linux/Unix下上网的解决方案

电力猫在Linux/Unix下上网的解决方案

作者:马路遥 来源:Chinaunix 添加时间:2006-5-26 13:50:43

中电飞华在北京推出了电力猫上网的业务,费用相当低廉。笔者选用的一款是400元包半年的套餐。标称速度是10M 实际下载可以达到60K以上,在北方网通的地盘上速度也算马马虎虎了。

中电飞华提供了两种类型的"电力猫",一种用”网线型号“的,用网线直接接入电脑。相当于一个hub或交换机。不需要驱动程序都可以在任何操作系统上使用。另一种为usb接入。没有驱动不能在Linux下使用。但www.intellon.com以GPL的方式开放了windows下驱动程序的源代码。原则上也可以移植到linux/unix上。如果不愿做这个移植工作。建议使用linux/unix 的朋友一定要选择网线型号的电力猫。

北京地区的中电飞华在Windows 下采用的认证方式据说是华为认证。以IE + ActiveX的方式进行,无法移植到Linux/Unix上,其原理如下:

1.在某个web服务器的cgi程序上进行认证,认证通过后你会得到一个sessionid 的变量。此变量实际使用中最大为31000,应该不会超过32767。这在Linux 下很容易做到。

2.每分钟发送一个udp包到服务器的8090端口,其中包括上述的sessionid 数据。但服务器并不回应。这样连接会一直保持。

通过ethereal 抓包分析出udp数据如下:

数据长度为10个字节,以下以16进制表示:

05 05 00 00 00 00 00 00 61 54

第一个数据似乎一直不变。

第二个数字从零开始,每次会加一,由于两个16进制的长度最多能发256分钟,暂时还部知道256分钟以后此字段如何变化。事实上电力猫连接不甚稳定,也不容易达到这个数字。

中间的6个字段总是0。

最后两个字段的组合是sessionid 的值。

比如你得到的sessionid 是29615 ,那么后两个就是73 AF

29615=0x73AF.

注销时也是发一个udp包,内容和刚才相似,但头两位数据是

03 0A

我是包半年的用户。不用考虑注销的问题。

知道这些,就很容易实现Linux Unix下的认证了

第 1 页,共 2 页 [1] [2]
站内搜索