失传已久的广工Dr.com路由器最简单最小白的配置方法

零、前言

免责声明:刷坏了概不负责,概不负责,概不负责(不过正常也是不会刷坏的)

这种方法是刷路由器最快最简单的方法,没有之一。

这篇博文并不是原创的,原教程贴是另一位2014级大神wosz写的发在学校贴吧上,然后又被另外一个同学写出小白化教程,后来两篇文章都被删了……因此这种操作方法失传已久,现在凭我当时的记忆将操作还原出来。

开路由器有几种方法,据我所知道的有:

  1. 虚拟机外置无线网卡分享法:原理是VMware虚拟机可以桥接物理机的网络,然后在虚拟机内部用分享网络的软件分享,需要购买外置无线usb网卡插电脑(因为虚拟机无法访问电脑自带的网卡),缺点是要用网络就要一直开着虚拟机占用电脑,而且不能关机,功耗较高容易引发地球能源危机。
  2. 刷OpenWrt系统:通常针对某些出厂系统比较封闭的路由器,刷了之后就相当于root了,不过涉及到刷机就是高级操作,难度高不说可能还有刷成砖的风险。其实用极路由的好处就是他不用刷机也有开发者模式,我们可以免掉刷机这一步。其他诸如小米、360路由也类似,据说也是自带开发者模式。
  3. 买现成的路由器:通常就是某些具有商业头脑的大神了,他们进货一大堆tplink的路由器然后自己刷系统,熟手的话当然很快就能刷好一台然后价钱翻倍卖出去。不过他们用的大都是tplink最cheap的那种路由器……8M内存装OpenWrt都不够,要刷的话还要焊内存???反正刷ASUS也是刷,刷tplink也是刷,倒腾垃圾路由器他赚到差价更多,你用起来性能怎么样就不是他的事了,能开wifi就行……不过校园网的速度,tplink的性能还是绰绰有余,不想整活的也可以购买。

大一时就成功把路由器刷出来爽了3年,老早就想写这个教程,不过一直懒癌晚期拖着,那两篇教程已经失传,所幸我还能勉强记得大致流程,这两天成功复现了一遍,立马记下,如果大四还不写,那估计这种方法就得淹没在历史长河之中。

秉承wosz大神的理念,这种方法是开源的,我这篇文章可以随意转载,不用说明出处。不过绝对不要用这种方法做商业行为。

视频:https://www.bilibili.com/video/BV1VK411N7Ae
可先观看视频了解大概再看下面详细教程

一、准备工作

1. 所需物品
  • 极路由一台
    极1s足矣,太猛的路由器你会发现走到楼下能连到wifi但是你上不了网……
  • 相关工具:putty、winscp、wireshark
    putty用于远程命令行控制路由器
    winscp是管理路由器文件
    wireshark是用来分析心跳包
  • 脚本文件:发包的程序
    下载地址:https://pan.baidu.com/s/15w2uzWjQqT4VxBUjif4l7g
    ggly
2. 原理及工具介绍(没兴趣的请直接跳过)

Dr.COM客户端采用PPPOE拨号,不仅禁止发射wifi,并且会间歇地发送一个心跳包,一旦一段时间认证服务器内未接受到心跳包,就会断开网络连接。使用VPN会使得心跳包走的是VPN的路线,所以也就无法到达认证服务器。而如果直接通过路由器拨号上网的话,也会因为没有心跳包的发送而导致定时断开连接。
脚本文件就是一个路由器模拟发心跳包的程序,我们需要用wireshark抓包分析心跳包的内容然后配置这个程序。

二、路由器权限获取(须时两周)

  1. 路由器无需插网线,上电,电脑连接到HiWiFi的热点后,浏览器访问192.168.199.1进入路由器后台,等初始化完成后直接跳过引导,输入初始默认密码admin

  2. 后续设置需要路由器先联网,可以让路由器使用无线中继模式连接手机热点
    在这里插入图片描述

  3. 建议先点一次系统更新,更新到最新固件
    在这里插入图片描述

  4. 在智能插件→路由器信息,把固件和插件的自动更新选为否,然后保存,如果自动更新,可能会让路由器刷机失效,一切都要重刷
    在这里插入图片描述

  5. 高级设置这里的按钮,申请开通两个星期才能开通,因为高级设置就相当于root了,如果刷机会有刷成砖的风险,接下来的操作我们不需要刷系统,不会变砖的。它让你等两个星期就是把你的15天包换期给耗掉,安心等待即可。在这里插入图片描述

  6. 之后在插件市场找到一个叫做“开发者模式”的插件进行安装在这里插入图片描述

三、分析心跳包

1. 安装wireshark

我提供的wireshark是64位的版本,因为用完就可以卸载,就只安装wireshark,其他的组件都没必要装
在这里插入图片描述

到后面他会问你要不要装一个npcap,这个就一定要装了,不然抓不了包。
在这里插入图片描述

2. 进行抓包
  1. 网线插入电脑用客户端拨号一次,连接稳定后打开wireshark,这里要注意一下客户端的版本和出口IP
    在这里插入图片描述

在这里插入图片描述

  1. 会看到很多条线路,双击波动最大的那个应该就是,以太网3和本地连接6应该是同一个,最下面那个则是有规律的脉冲,应该不是目标,因此直接双击以太网3即可开始抓包
    在这里插入图片描述

  2. 等待约两分钟,按右上方红色方框终止抓包,ctrl+s将包保存为pcapng格式的包文件。

  3. 分析包文件,有两种方法
    ① 打开https://drcoms.github.io/drcom-generic/ (需要魔法上网),然后选择对应“6.0.x Version P”,点击open将刚才抓到的包上传,他就会分析出两个flag,分别是\x2f和\xdc
    在这里插入图片描述
    ②不能魔法上网或者这个网站挂掉的同学也可以直接分析包。
    在wireshark的筛选器中输入 ip.addr == 10.0.3.2 寻找和这个服务器交流的包。特别留意这种len是296和40的包。
    在这里插入图片描述
    pppoe_flag留意len=296的那种包,在0040这行的第六个就是“2f”,至于为什么是这位纯属根据上面auto configure的结果找规律找出来的……因为他没有公开源码
    在这里插入图片描述
    keep_alive2_flag找len=40的报文,在0030一行的第九个
    在这里插入图片描述
    知道了server是10.0.3.2和两个flag之后就可以修改drcom.conf文件了

server = '10.0.3.2'
pppoe_flag = '\x2f'
keep_alive2_flag = '\xdc'

四、尝试第一次拨号

记得开发者模式下面有一句小字介绍极路由的后台信息是
“root系统的SSH端口号为1022,用户名: root,密码: 路由器后台密码;”
其他Openwrt路由器的就自己上网找找这个信息吧

1. 打开WinSCP上传脚本文件
  1. 电脑拔掉网线,重新连接路由器
  2. 打开WinSCP,文件协议选SCP,主机名和端口号就是极路由的192.168.199.1和1022。用户名是root,密码还是默认的admin。
    2.
  3. 问你是否保存秘钥,是就可以了
  4. 之后会看到左边是本地文件列表,右边是路由器的文件列表,点击…回到根目录,再点击tmp进入缓存文件夹(这个文件夹是临时的,重启之后里面的文件会清空)
  5. 将脚本文件里的8个项目全拖进去tmp目录下,然后检查是否成功上传了。
    在这里插入图片描述
2. 使用putty执行命令
  1. 打开putty,主机名和端口同上,协议选SSH
    在这里插入图片描述
  2. 会问你是否保存秘钥,是就可以了
  3. Login as后面输入root,回车,然后输入路由器管理密码,密码内容不可见,但是实际上它是在记录键盘输入了的(反正别管,输入密码就是了),输入完成后回车确认。
    成功后应该有类似如下界面
    在这里插入图片描述
  4. 使用命令语句安装libffi + python-mini环境:
    (将下列代码复制后,在Putty里右键即可粘贴,粘贴后按下回车以执行,后同)
    (建议逐行复制)
cd /tmp
opkg install libffi_3.0.10-1_ralink.ipk
opkg install python-mini_2.7.3-2_ralink.ipk

在这里插入图片描述

  1. 需要修改pppoe拨号脚本的用户名转义字符的处理(由于drcom拨号时会在账号前加\r\n转义字符)
chmod +x ./pppoe-configure.sh
./pppoe-configure.sh

在这里插入图片描述

3. 尝试第一次拨号
  1. 把网线插到路由器wan口上(颜色不同的那个口)
  2. 浏览器访问192.168.199.1后台,选择宽带方式连接,用户名为\r\n+学号,密码为校园网密码
    在这里插入图片描述
  3. 连接好后,在高级设置里选择日志应该可以看到拨号成功的标志在这里插入图片描述

在这里插入图片描述
4. 拨号成功就代表前面的设置没有问题,可以把路由器网线拔掉了。

五、配置剩余脚本

1. 配置drcom-generic脚本

putty继续逐行复制输入脚本

cd /tmp
cp ./drcom.conf /etc/drcom.conf
cp ./drcom /usr/bin/drcom
chmod +x /usr/bin/drcom
cp ./pppoe.sh /usr/bin/pppoe.sh
chmod +x /usr/bin/pppoe.sh

如果这里报错,就要检查下是不是重启了路由器然后tmp文件都被删了,如果是的话就重新把那8个项目上传
在这里插入图片描述

2. 配置自启动脚本
  1. 打开WinSCP,双击 … 回到根目录,双击etc文件夹,找到一个名为rc.local的文件,右键→编辑方式→内部编辑器。
    在这里插入图片描述
  2. 在exit 0 前面加入
sleep 15
pppoe.sh

这个文件是设置每次路由器开机后执行的代码,这两行就是指定开机15秒后执行我们的pppoe.sh程序
在这里插入图片描述
3. ctrl+s保存并退出,为免保存失败,再打开一遍检查下是否成功应用了修改

3. 最后配置
  1. 回到Putty,进行以下配置以保证重拨后仍能自启动心跳脚本
cp ./99-drcom /etc/hotplug.d/iface/99-drcom
chmod +x /etc/hotplug.d/iface/99-drcom

在这里插入图片描述
2. 重启路由器
3. enjoy it! 重启路由器,观察是否连接至互联网,并且大概在5分钟后查看拨号日志以确保期间网络没有断开,一天后再检查看看其中有没有断开重拨号过,没有的话就是完美了!

六、 后记

这篇文章真是花了九牛二虎之力还原出来,感谢百度快照尚能找回一些蛛丝马迹。想想自己在计院三年以前一脸懵的linux命令操作现在也逐渐看得懂他在做什么了,煞是感叹。
当年大神还在,记得自己刚刷好不久,校园网就从5.2.0p升级成了6.0.0p,在大神热心解答后自己摸索出怎么用wireshark抓包并分析,让人受益匪浅。
配置路由器的时候如果有问题或者心跳包更新了,都建议回归出厂状态认真重刷一次,严格按步骤来应该是不会出错的,还有错的话评论提出来,不过我可能也不太会解决就是了……


10-10补充:
如果一直循环691错误,就把网线插电脑上正常拨号正常使用让他缓一缓,过半天之后再插回去路由器大概率就好了
有一次实验不知道为什么一直抓不到len=296的包,可以试试先开始抓包然后再拨号,让wireshark抓下登录的全过程可能就有len=296的包了,而不是先拨号再抓包

  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值