| 
 | 
	
 
 
 本帖最后由 jmin.l 于 2013.2.27 19:01 编辑  
 
12月更新:就开学那些时间折腾了一下路由器,中间的时间基本都在使用CMCC,最近CMCC很慢于是又折腾回来了。中间的这段时间也把CMCC放入路由器里认证了,即在路由里完成了CMCC的登陆,电脑连上路由不要登陆就可以直接上网了。现在把自动登陆CMCC的代码放上来,顺便更新一下教程,精简掉乱七八糟的废话。 
 
最容易的是找一个支持中兴802.1x协议的无线路由,协议的分析在这里: 
http://www.zhanshiren.com/thread-13452-1-1.html 
这种路由我没有找到,不清楚那个可以。 
 
第二种方法相对比较复杂,简单来说就是把校园网的算法代码搞入路由里认证。 
 
准备条件: 
1. 支持openwrt的路由器,可以到官网瞄瞄 http://wiki.openwrt.org/toh/start 
2.Linux下的校园网客户端源代码,海大的前辈已经写出来并开源了,和湛师的通用。直通车3.一个Linux的操作系统,主要用来编译openwrt固件,及交叉编译校园网客户端。 
4.编译好的校园网客户端,ar7xxx平台。
 
iwas4gdou.zip
(11.8 KB, 下载次数: 186)
 
 
因为编译openwrt固件及校园网客户端过程比较繁琐,这里不说了,附件有直接给出编译好的校园网客户端,至于固件网上有很多,可以到一些无线论坛下载,比如恩山之类。 
 
我用的路由器是tp-link703N,ar7xxx平台的,所以附件给出的客户端也是只适用这个平台。不想麻烦重新编译的可以直接买这个平台的路由,有很多选择。 
 
把路由刷成openwrt后,在路由器里装上libpcap软件包,一般的固件好像都不带这个包的。 
然后把附近zte上传到路由器,用winscp软件可以很直观方便的上传上去。上传好后,加权限执行。 
加权限 chmod +x zte       注意路径,一般上传到/usr/sbin 目录。 
 
认证方法(客户端代码那个网址里有详细说明): 
一般使用如下: 
zte -ar -i eth0 -u UserName -p password 
 
最后在计划任务里加一条命令,每隔一些时间执行这个命令,防止意外退出断线 
 
*/10 * * * * /usr/sbin/zte -ar -i eth0 -u zjlanXXXXXXX -p password 
这条命令是每天每10分钟执行一次认证命令,具体时间可以随便改。 
认证成功就可以上网了。 
==================================== 
下面给一个CMCC的认证代码,小虾(其实是大侠)写的,拿来删掉了两行代码就OK了。。。使用方法不说了,你折腾路由过程中应该可以学到怎么使用了。- #!/bin/sh
 
 - echo $(date) > /tmp/cmcc_date
 
 - wget 'http://www.baidu.com/' -O /tmp/cmcc_touch --save-cookies /tmp/cmcc_cookies --keep-session-cookies
 
  
- username="username"
 
 - password="password"
 
 - wlanuserip=$(cat /tmp/cmcc_touch |grep 'NAME="wlanuserip"' |awk -F'"' '{print $6}')
 
 - wlanacname=$(cat /tmp/cmcc_touch |grep 'NAME="wlanacname"' |awk -F'"' '{print $6}')
 
 - wlanacip=$(cat /tmp/cmcc_touch |grep 'NAME="wlanacip"' |awk -F'"' '{print $6}')
 
  
- prelogin_url='http://221.179.9.18:8080/bpss/index.jsp'
 
 - wget "${prelogin_url}" --post-data "wlanuserip=${wlanuserip}&wlanacname=${wlanacname}&wlanacip=${wlanacip}" -O /tmp/cmcc_prelogin --load-cookies /tmp/cmcc_cookies --keep-session-cookies
 
  
- login_url=$(cat /tmp/cmcc_touch |grep 'name="loginform"' |awk -F'"' '{print $4}')
 
 - wget "${login_url}" --post-data "bpssUSERNAME=${username}&bpssBUSPWD=${password}&Submit=%B5%C7%C2%BC&bpssLoginType=1" -O /tmp/cmcc_login --load-cookies /tmp/cmcc_cookies --keep-session-cookies
 
  复制代码 ================== 
所有代码全开源,可能有一些不完善的地方,但肯定可以使用了。有能力的可以在这个基础上继续完善下去,路由器的玩法还有很多不过也非常的折腾人。 
希望这个教程可以帮助想在宿舍使用无线路由器的筒子少走一些弯路,Good Luck! 
 
 
The End。 
 
 
================== |   
 
 
 
 |