[title]为什么要刷机?[/title]
小米路由器的官方固件(MiWiFi固件)就是基于Openwrt魔改的,但是屏蔽了很多功能。这里列举一下官方固件的优缺点。
优点:
- 有官方支持(基本等于没有)
- 比较稳定
- 配置简单(傻瓜式操作),容易上手
- 可以一键复原
缺点:
没有Shell,功能高度限制,很多参数无法修改。
[title]Openwrt固件[/title]
对路由器这种嵌入式设备进行刷机操作有较大的风险,可能会造成无法开机(变砖)、无线或(和)有线性能下降、设备过热导致烧毁、原机增值功能(例如保修)缺失等问题。建议有嵌入式、Linux、防火墙、网络维护等基础概念的同学操作。
刷固件的好处有:
- 可定制性强:Openwrt是基于Linux的开源路由器操作系统,用户可以根据自己的需求对系统进行定制,添加或删除功能模块,满足个性化需求。
- 安全性高:Openwrt系统具有强大的安全功能,如防火墙、VPN、WPA2加密等,可以保护网络免受外部攻击和干扰。
- 稳定性好:Openwrt系统采用了优秀的软件包管理工具,可以保证系统的稳定性和可靠性,减少系统崩溃和故障的发生。
- 界面友好:Openwrt系统提供了多种图形化界面,使得用户操作更加简单和直观,即使对于不懂命令行操作的用户也可以轻松上手。
- 社区活跃:Openwrt拥有庞大的开发者社区,用户可以从中获得各种技术支持和解决方案,提高系统的应用和运行效率。
ps:对路由器这种嵌入式设备进行刷机操作有较大的风险,可能会造成无法开机(变砖)、无线或(和)有线性能下降、设备过热导致烧毁、原机增值功能(例如保修)缺失等问题。建议有嵌入式、Linux、防火墙、网络维护等基础概念的同学操作。
[title]准备[/title]
首先需要下载的是 Openwrt 固件,这里选择官方编译的版本。在恩山等无线论坛也有第三方编译的固件,会加入更多功能或优化,这个自己选择适合自己的就好。官方固件下载地址:openwrt.org、南京大学镜像源、清华大学镜像源,然后在列表中寻找对应型号即可,我们本次使用的设备是小米路由器4A千兆版,对应的文件名就应该为openwrt-21.02.3-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin,注意需要下载的是sysupgrade包
接下来需要下载 OpenwrtInvasion 脚本,该脚本用于通过漏洞对官方固件开启 ssh 。Github地址:https://github.com/acecilia/OpenWRTInvasion
如果需要刷入 Padavan 或其他固件还需要下载一份 breed ,可以从 https://breed.hackpascal.net/,下载选择对应的CPU和型号即可。刷入官方编译的OpenWRT不需要从breed(不死鸟)刷入,可能会造成bootloop,所以还是建议刷入breed。
[title]开启官方固件的SSH[/title]
将网线连接至电脑,在浏览器内打开小米路由器的后台管理地址,默认是http://192.168.31.1,登录后将地址栏的整段文字复制出来备用,整段地址
该是形似http://192.168.31.1/cgi-bin/luci/;stok=xxx/web/home的,此时不要关闭已登录后台的浏览器。
然后打开Terminal,输入如下指令安装依赖:
pip3 install -r requirements.txt
依赖安装完成后执行脚本解锁官方SSH:
python3 remote_command_execution_vulnerability.py
中间需要输入上面保存的地址中的stok参数,直接整段复制粘贴进去即可。
开启完成后通过ssh进入路由器后台,默认密码是root:
ssh [email protected]
[title]刷入 OpenWRT 固件[/title]
将上面下载的固件文件用WinSCP传入/tmp/目录,并重命名为a.bin(重命名为啥都行,不改也行,方便输入就行),然后输入如下命令刷
OpenWRT :
# 切到tmp目录
cd /tmp
# 输入固件
mtd -e OS1 -r write firmware.bin OS1
开始刷写后会先擦除对应分区然后写入固件文件,此时无论如何不要动路由器、网线和电源,等待电脑正常获取到IP且路由器主LED灯变为蓝色时即刷写完成
就可以进入后台了。