Auther: taxigps From: http://blog.sina.com.cn/rss/1256230080.xml,
最近搬到学校居住,可校园网使用有点麻烦,需要在电脑上运行Dr.Com客户端登录认证,每次上网得先开电脑运行Dr.Com客户端,而且电脑还不能关。这太不符合移动互联网时代精神了。研究了一下,通过给路由器加入开机启动Dr.Com客户端登录认证功能解决了问题。特记录如下。
一、路由器选择
由于解决方案是要让路由器运行python脚本模拟Dr.Com客户端登录认证功能,需要路由器运行的固件支持灵活的自定义功能,这里首推OpenWRT。OpenWRT固件支持的路由器不少,其官方硬件支持列表见:http://wiki.openwrt.org/toh/start。一些新出的路由器未包含在内,包括我最终选择的这个。很多OpenWRT入门者选择淘一个硬改的华为HD255D来练手,那个估计是国内电信运营商淘汰的旧设备,淘宝上售硬改机的很多,硬改主要是更换为8M或16M的闪存,以便刷入OpenWRT系统。我比较了下各种路由器的性能和价格,最终选定使用联想新路由Newifi,主要原因有:1、Newifi使用的MT7620A主芯片,OpenWRT支持良好,刷机固件易找。2、16M闪存,软件扩展能力好,固件选择面宽。3、Newifi是一款双频路由,支持5GHzWiFi,这个俺见世面少,还没玩过。4、价钱便宜,作为双频路由器才用98元。当然也有不足,作为一款无线支持到1000M的路由器,LAN接口竟然才100M,实在够脑残的,不过谁让它便宜呢?
二、Newifi刷OpenWRT固件PandoraBox
据说Newifi官方固件也是在OpenWRT基础上开发的,我就试了下升级到2.1的云OS(这个可以直接配置SSH管理,无需root),结果安装python未能成功,DIY支持度不佳。折腾了半天,还是回到正途,刷OpenWRT。我使用的是国内团队在OpenWRT基础上开发的DreamBox固件,最新版本基于OpenWRT
12.09,开发代号PandoraBox(潘多拉魔盒)。Newifi的PandoraBox固件下载地址:http://downloads.openwrt.org.cn/PandoraBox/Lenovo-Y1_RY-1S/firmware/stable/
12.09,开发代号PandoraBox(潘多拉魔盒)。Newifi的PandoraBox固件下载地址:http://downloads.openwrt.org.cn/PandoraBox/Lenovo-Y1_RY-1S/firmware/stable/
我下载的固件文件是:PandoraBox-ralink-mt7620-y1-squashfs-sysupgrade-r1024-20150608.bin
刷机使用uBoot升级固件的方式。插拔路由器电源一次后,点击reset键,路由器重启进入uBoot刷机模式。修改电脑本地网卡IP为192.168.1.10,打开浏览器输入192.168.1.1进入uBoot升级页面,选择固件后开始刷机。
升级完成后路由器自动重启,此时将电脑网卡修改为自动获取IP,待路由器重启完成后,即可进入192.168.1.1管理路由器。
三、配置SSH远程登录并安装Python
这次的DIY需要以命令行方式登录路由器操作系统的管理员用户做一些安装和设置。因此要先确保开启了SSH远程登录。PandoraBox内置了的SSH服务器是开源软件Dropbear。可以在Web管理界面设置。
SSH开启后,就可以使用putty.exe以root用户远程登录到Newifi,在命令行状态输入以下命令安装Python脚本运行环境。
# opkg update
# opkg install python-mini
# opkg install python
# opkg install python-mini
# opkg install python
四、路由器Dr.Com设置
下面就是重头戏了,使用的Dr.com设置相关Python脚本源代码见:https://github.com/drcoms/drcom-generic。使用说明见:https://github.com/drcoms/drcom-generic/wiki。支持D、P、X三种版本的Dr.Com模拟。下面以我所在校园网的D版介绍配置流程。
前面我们已经在路由器上安装了Python环境,开始下一步工作前,你还得确认你的电脑上也安装了Python环境,才能进行后面的有关调试。然后下载两个python脚本备用:
使用wireshark在官方客户端登录前开始截包,做一次完整的截包动作然后登出,保存为wireshark截包文件 ,
比如dr.pcapng(扩展名为pcapng)。
比如dr.pcapng(扩展名为pcapng)。
将下载的d版配置生成器与第一步的截包文件放到同一个目录下,并且将生成器脚本drcom_d_config.py中filename
= 'xxx'这一行中的xxx改为刚才保存的截包文件名dr.pcapng。
进入命令提示符(或shell)进入drcom_d_config.py所在目录,输入:
python drcom_d_config.py > config.txt
这个脚本程序自动从截包文件中提取出Dr.Com配置所需的参数,保存在config.txt文件中。现在打开config.txt,将类似
server = '172.17.254.6'
username='hahahahaha'
password=''
CONTROLCHECKSTATUS = '\x20'
ADAPTERNUM = '\x04'
host_ip = '\x0a\x68\x82\x03'
IPDOG = '\x01'
host_name = 'DRCOMFUCKER'
PRIMARY_DNS = '\xd3\x53\x30\x21'
dhcp_server = '\xd3\x53\x37\x2a'
AUTH_VERSION = '\x0f\x00'
mac = 0x28d244090e15
host_os = 'WINDIAOS'
KEEP_ALIVE_VERSION = '\x0f\x27'
username='hahahahaha'
password=''
CONTROLCHECKSTATUS = '\x20'
ADAPTERNUM = '\x04'
host_ip = '\x0a\x68\x82\x03'
IPDOG = '\x01'
host_name = 'DRCOMFUCKER'
PRIMARY_DNS = '\xd3\x53\x30\x21'
dhcp_server = '\xd3\x53\x37\x2a'
AUTH_VERSION = '\x0f\x00'
mac = 0x28d244090e15
host_os = 'WINDIAOS'
KEEP_ALIVE_VERSION = '\x0f\x27'
的段落拷贝出来,新建一个drcom.conf文件(需要使用UltraEdit之类文本编辑器以保存Unix换行符的文件)备用,同时覆盖Dr.Com登录认证脚本latest-wired.py中从
# CONFIG 到 #
CONFIG_END
中间的部分,注意自行修改password的值为你实际的Dr.Com登录密码。
# CONFIG 到 #
CONFIG_END
中间的部分,注意自行修改password的值为你实际的Dr.Com登录密码。
下面先在电脑上测试下latest-wired.py是否真的能取代Dr.Com官方客户端软件完成登录认证。测试前要先修改latest-wired.py中IS_TEST
=
False这一行,将赋值改为True。在电脑上运行latest-wired.py看是否能上网,能上网就成功了,只要把这个脚本放到路由器上运行就可以抛开电脑由路由器自行完成校园网接入了。
=
False这一行,将赋值改为True。在电脑上运行latest-wired.py看是否能上网,能上网就成功了,只要把这个脚本放到路由器上运行就可以抛开电脑由路由器自行完成校园网接入了。
用WinSCP以ftp登录Newifi,将latest-wired.py上传到路由器的/usr/bin/里,改名为drcom(记得改回IS_TEST
= False),并且给予执行权限(chmod +x
/usr/bin/drcom)。将前面创建好的drcom.conf上传到路由器的/etc/目录。编辑路由器上的/etc/rc.local,在
= False),并且给予执行权限(chmod +x
/usr/bin/drcom)。将前面创建好的drcom.conf上传到路由器的/etc/目录。编辑路由器上的/etc/rc.local,在
exit 0
前加入一行
drcom &
现在重新启动一下Newifi试试,路由器能自行完成校园网Dr.Com登录认证,无需开电脑就可以用你的手机、Pad等无线设备通过路由器上网冲浪了。
青春就应该这样绽放 游戏测试:三国时期谁是你最好的兄弟!! 你不得不信的星座秘密
微信扫描下方的二维码阅读本文