前言
刚刚进入大学的小萌新们一定都有这样的困惑:为什么校园网要一人一号?还不让用无线路由器?难道是怕办宽带业务的人少,学校收不到钱了吗?
原因我们不得而知,但是在大多数校园网在最初的设计中并没有限制无线路由器的使用,也就是说条件上是支持用WiFi的。所以我们可以通过某些软件,使用笔记本的无线网卡来共享网络。还有一种办法就比较hack了,那就是在无线路由器中使用软件假装校园网客户端进行认证和持续心跳来共享网络。
第一种方法固然安装简单,只需要下载安装WiFi共享软件即可,但是使用不方便,手机连WiFi还得先开笔记本,而且笔记本得一直开着,一旦电脑关机WiFi也没了。此外,一些校园网客户端会检测多网卡同时使用的情况,进行限制。
于是乎,为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色OpenWrt登场了。(这台词暴露年龄了)
什么是OpenWrt?
OpenWrt项目是针对嵌入式设备的Linux操作系统。OpenWrt并没有试图创建一个单一的静态固件,而是提供了一个完全可写的文件系统和包管理。这使您免于供应商提供的应用程序选择和配置,并允许您通过使用软件包来定制设备以适应任何应用程序。对于开发人员而言,OpenWrt是构建应用程序的框架,无需在其周围构建完整的固件; 对于用户来说,这意味着完全自定义的能力,以从未设想的方式使用设备。
一言以蔽之,和Android是手机上的操作系统类似,OpenWrt就是路由器上的操作系统。现在市面上的许多智能路由器的操作系统都是基于OpenWrt深度定制的,我推荐使用的PandoraBox,它是OpenWrt的一个分支。PandoraBox有很多优秀的特性,它不仅开源,而且很符合国人的操作习惯。
是不是有点吃惊了,连路由器也有操作系统?没错,最早期的路由器正是由普通计算机担任的。和你的电脑一样,路由器也内存、操作系统、配置和用户界面例如,Cisco路由器中的操作系统,被称为互连网络操作系统(Internetwork Operating System,简称IOS,其版权归Cisco所有)。路由器是一种特殊的计算机。路由器开机也有一个引导过程,用于从ROM装入引导程序,并使其操作系统和配置装入内存。
路由器和普通计算机最大的区别是用户界面和内存的分配。
路由器的内存类型
- 只读存储器(ROM)
- 随机访问存储器(RAM)
- 闪存(Flash)
- 非易失性RAM(NonvolatileRAM, NVRAM)
只读存储器(ROM)
ROM芯片中存储着引导程序,通常不能被升级,只含有一个功能非常有限的操作系统,仅有路由选择功能。 ###随机访问存储器(RAM) RAM被IOS分为共享内存和主存。主存用于存储路由器配置和与路由协议相关的IOS数据结构。对于IP,主存用于维护路由表和ARP表等;对于IPX,主存用于维护SAP和其他表。共享内存用于缓存等待处理的报文分组。
性子急的同学要发话了,说了这么多我还是不清楚究竟要怎样才能用路由器认证上网?
那好吧,长话短说。我们要做的就是往路由器中刷入PandoraBox,安装python-mini,然后用python脚本进行客户端的持续心跳。
准备工作
需要准备的材料:
- 智能路由器(支持刷机的路由器)
- 刷潘多拉固件
- 路由器用的python安装包
- 其他工具软件
- breed Web控制台
- Putty
- Notepad++
- WinSCP
- Wireshark
- Python版客户端脚本(最新版本见github)
如果好奇心十足的你不满足于此,想弄清楚其中的原理,那么你需要具备以下知识基础:
- Linux
- python
- 路由器相关
-
计算机网络相关
基本原理
首先需要刷入开源的潘多拉固件,然后安装路由器专用 python-mini,在 Windows 上抓包 Dr.com ,将你的账户和配置信息写入 Python 程序,将程序复制到路由器,模拟 Dr.com 的运行。