如何把小米路由器刷入OpenWRT系统并通过内网穿透工具实现公网远程访问

news2024/7/4 4:45:34

小米路由器4A千兆版刷入OpenWRT并远程访问

文章目录

  • 小米路由器4A千兆版刷入OpenWRT并远程访问
    • 前言
    • 1. 安装Python和需要的库
    • 2. 使用 OpenWRTInvasion 破解路由器
    • 3. 备份当前分区并刷入新的Breed
    • 4. 安装cpolar内网穿透
      • 4.1 注册账号
      • 4.2 下载cpolar客户端
      • 4.3 登录cpolar web ui管理界面
      • 4.4 创建公网地址
    • 5. 固定公网地址访问

前言

OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,可以让路由器变得更智能,简单的说,路由器刷了OpenWrt就相当于一个Linux系统带无线带多网卡的电脑。

举个栗子:有usb功能的路由器刷后可以实现多端文件共享 ,挂站,远程监控甚至智能家居 ;无线可桥接,可以无线连接一般的chinanet热点并拨号;组建局域网无线网络传输数据等。

今天就分享一下如何在小米路由器4A千兆版刷入OpenWRT并通过内网穿透工具实现公网远程访问。

1. 安装Python和需要的库

首先打开 www.python.org 下载一个 Python3 的安装包并安装。

安装完成后执行以下命令升级pip与安装需要的库:

python -m pip install --upgrade pip
pip install pycryptodome
pip install requests

2. 使用 OpenWRTInvasion 破解路由器

打开 OpenWRTInvasion 的 releases 页面,下载一个可用的版本,我这里选择的是支持Windows的版本的是0.0.7。

下载后得到的压缩包名为:OpenWRTInvasion-0.0.7,将改文件解压缩到一个无中文的路径即可。

image-20231110132110564

小米路由器联网,登录路由器,在地址栏中找到参数stok并复制等号后的字符,保持网页不要关闭。

image-20231110132322135

在解压OpenWRTInvasion的目录打开cmd(本教程中使用的是Windows PowerShell)

输入python remote_command_execution_vulnerability.py指令运行破解脚本

根据提示输入路由器IP(192.168.31.1),粘贴之前复制的stok等号后的字符,开始破解

破解成功后会有提示,可以复制提示的指令连接Telent或者SSH,用户名、密码都是root

1699594102179

3. 备份当前分区并刷入新的Breed

首先执行以下指令查看与备份分区

cat /proc/mtd   #显示路由分区
dd if=/dev/mtd0 of=/tmp/all.bin   #备份所有分区到/tmp/all.bin
dd if=/dev/mtd1 of=/tmp/Bootloader.bin   #备份引导分区到/tmp/Bootloader.bin

2.png

然后使用WinSCP或者其他FTP工具创建FTP连接,地址是路由器IP,用户名root,没有密码,连接后将刚才备份的两个文件all.bin,Bootloader.bin传输出来,并且将 breed-mt7621-pbr-m1.bin 上传到tmp目录下。

image-20231110133106317

上传完成后执行mtd -r write /tmp/breed-mt7621-pbr-m1.bin Bootloader刷入Breed,刷入完成后重启路由器

image-20231110133436834

使用浏览器打开192.168.1.1打开Breed控制台,刷入openwrt-ramips-mt7621-xiaomi_r4a-squashfs-sysupgrade.bin。点击确定后,会进行更新读条。

image-20231110133222053

等待读条结束后,浏览器输入192.168.31.1即可看到OpenWrt登录界面

默认账号为root,密码是 coolxiaomi,登录后显示下方界面即刷入成功。

image-20231110133305818

4. 安装cpolar内网穿透

此时已经可以成功登录OpenWrt并运行,不过只能在本地访问,如果打算在公网环境随时随时访问内网的OpenWrt进行文件传输等操作,我们需要安装cpolar内网穿透工具来实现。

4.1 注册账号

进入cpolar官网:https://www.cpolar.com/

点击右上角的免费注册,使用邮箱免费注册一个cpolar账号并登录

20221117173301

4.2 下载cpolar客户端

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

20221117173307

4.3 登录cpolar web ui管理界面

在浏览器上访问127.0.0.1:9200,使用所注册的cpolar邮箱账号登录cpolar web ui管理界面(默认为本地9200端口)

20221117173316

4.4 创建公网地址

登录成功进入主界面后,我们点击左侧仪表盘的隧道管理——隧道列表,再点击创建隧道.

image-20231110162208198

  • 隧道名称:可自定义命名,不能与已有的隧道名重复,这里我填写了website

  • 协议:选择http

  • 本地地址:192.168.31.1:80

  • 域名类型:免费套餐选择随机域名

  • 地区:China Top

点击创建

image-20231110162518951

此时,点击左侧状态中的在线隧道列表,可以看到刚才创建的wamp隧道,生成了两个公网地址,有两种访问方式,分别是http 和https,随意复制一个地址,在公网电脑浏览器打开即可,如下图所示即代表成功实现公网访问本地内网路由器的OpenWrt。

image-20231110162548764

5. 固定公网地址访问

需要注意的是,本次教程中使用的是免费cpolar所生成的公网随机临时地址,该地址24小时内会发生变化,对于需要长期在外使用OpenWrt的用户来讲,配置一个固定地址就很有必要。

我一般会使用固定二级子域名,原因是这样一个固定、易记的公网地址(例如:open.cpolar.cn),这样远程路由器时更方便也更快捷。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

image-20231110163339847

以本次教程为例,地区选择China VIP,二级域名填写open,描述填写1,点击保留

image-20231110163454502

保留成功后复制保留的二级子域名地址,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:website,点击右侧的编辑

image-20231110163710840

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名open
  • 地区:选择China VIP

点击更新

image-20231110163829552

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20231110163857679

最后,我们使用固定的公网地址进行连接访问,复制二级子域名:http://open.vip.cpolar.cn/到另一台公网电脑浏览器打开,无报错和连接异常,可以看到连接成功,这样一个固定不变的地址访问就设置好了,您可以随时随地使用该域名来公网访问内网路由器OpenWrt进行操作了。

image-20231110163939222

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1209614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode | 225. 用队列实现栈

LeetCode | 225. 用队列实现栈 OJ链接 此题可以用两个队列去实现一个栈,每次始终保持一个队列为空, 入栈操作相当于给非空队列进行入队操作 入数据,把不为空的队列入 出数据,把不为空的队列数据导入为空,直到最后一…

如何将微软 Office 宏转换为 ONLYOFFICE 宏

想要将微软 Office VBA 宏转换为可在 ONLYOFFICE 中无缝使用的宏?嗯,虽然这种需求并没有直接的解决方案,不过我们也会在本文中介绍 VBA 宏的转换步骤——正好我们手上也有一个来自用户的实际案例可供参考。 VBA 宏 以下是原始的 VBA 宏代码&…

vscode+python开发之虚拟环境和解释器切换

需求情景: 现在我们要开发多个项目比如:项目A,项目B、项目C,他们每个项目需要依赖不同的库。每个项目依赖的解释器也不一样怎么办? 项目A:需要在python3.7环境运行 依赖aadd3.2库 项目B、需要在python3.11…

〖大前端 - 基础入门三大核心之JS篇㉟〗- JavaScript 的DOM简介

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

No207.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

【Python】爬虫代理IP的使用+建立代理IP池

目录 前言 一、代理IP 1. 代理IP的获取 2. 代理IP的验证 3. 代理IP的使用 二、建立代理IP池 1. 代理IP池的建立 2. 动态维护代理IP池 三、完整代码 总结 前言 在进行网络爬虫开发时,我们很容易遭遇反爬虫机制的阻碍。为了规避反爬虫机制,我们…

R语言爬虫程序自动爬取图片并下载

R语言本身并不适合用来爬取数据,它更适合进行统计分析和数据可视化。而Python的requests,BeautifulSoup,Scrapy等库则更适合用来爬取网页数据。如果你想要在R中获取网页内容,你可以使用rvest包。 以下是一个简单的使用rvest包爬取…

tensorflow 1.15 gpu docker环境搭建;Nvidia Docker容器基于TensorFlow1.15测试GPU;——全流程应用指南

前言: TensorFlow简介 TensorFlow 在新款 NVIDIA Pascal GPU 上的运行速度可提升高达 50%,并且能够顺利跨 GPU 进行扩展。 如今,训练模型的时间可以从几天缩短到几小时 TensorFlow 使用优化的 C 和 NVIDIA CUDA 工具包编写,使模型能够在训练…

20231114在HP笔记本的ubuntu20.04系统下向RealmeQ手机发送PDF文件

20231114在HP笔记本的ubuntu20.04系统下向RealmeQ手机发送PDF文件 2023/11/14 14:11 手机:Realme Q 笔记本电脑:HP https://item.jd.com/100012583174.html 惠普(HP)战66 三代AMD版 14英寸轻薄笔记本电脑(锐龙7nm 六核…

旺店通·企业版对接打通金蝶云星空查询调拨单接口与分布式调入单新增接口

旺店通企业版对接打通金蝶云星空查询调拨单接口与分布式调入单新增接口 源系统:旺店通企业版 旺店通是北京掌上先机网络科技有限公司旗下品牌,国内的零售云服务提供商,基于云计算SaaS服务模式,以体系化解决方案,助力零售企业数字化…

Qt QWebEngine 加载网页及交互,实现C++与JS 相互调用

目录 前言1、QtWebEngine介绍2、安装3、核心类介绍3.1 QWebEngineView3.2 QWebEnginePage3.3 QWebEngineProfile3.4 QWebEngineHistory3.5 QWebEngineSettings 4、加载网页5、C调用JS5.1 无返回值5.2 有返回值 6、JS调用C6.1 新建WebObject 类继承自QObject。6.2 将WebObject对…

前端入门(二)js速成与vue脚手架搭建

文章目录 JS常用API操作对象操作对象增删改查js深拷贝、浅拷贝js实现深拷贝的方式 安全访问 JS常用API操作 对象操作 对象增删改查 创建对象 let obj {}新增属性 obj.a 1 、obj[a] 1修改属性 obj.a ‘a’查询属性 obj.a 、obj[a]删除属性 delete obj.a js深拷贝、浅拷贝…

day08_子网划分与子网掩码

什么是子网划分? 1、概念:借主机位给网络位使用,以此来达到把一个大网段划分为n个儿子网段的目的,2. 为何要进行子网划分?3、子网掩码:就是对ip地址打记号4、 网络地址的计算机方式:ip地址与子网掩码都转换成二进制&a…

如何实现Redisson分布式锁

首先,不要将分布式锁想的太复杂,如果我们只是平时业务中去使用,其实不算难,但是很多人写的文章不能让人快速上手,接下来,一起看下Redisson分布式锁的快速实现 Redisson 是一个在 Redis 的基础上实现的 Java…

Postman配置环境请求接口

一、准备配置dev、test、demo、eprod 二、使用切换环境变量调用接口 三、使用登录接口自动获取token

python数据处理作业11:建一个5*3的随机数组和一个3*2的数组,其元素为1,2,3,4,5,6,求两矩阵的积

每日小语 打碎的杯子,烫伤的手,对菩萨是堪忍,因为他在里面得悟甚深之法,心生欢喜。 可是对一般人来说,一生何止打破千百个杯子?何止烫伤过千百次手?他只是痛苦地忍受,只记得下次要…

创建具有负载平衡和集群的可扩展 Node.js 应用程序

创建具有负载平衡和集群的可扩展 Node.js 应用程序 负载平衡是提高应用程序性能、可扩展性和可用性的一项重要技术。当客户端向负载均衡器发出请求时,负载均衡器根据预定义的规则将请求分发到不同的实例。 可以使用cluster集群模块或 PM2 等工具根据负载均衡器的流…

谈谈一个IT杂家的职业生涯规划,你的护城河被AI 攻破了么

文章大纲 没有顶会的从业者:成为深度学习老中医AIGC 还未能克服的难点:忽然的惊喜 -- 大模型的智能涌现未来还能做点什么,从计算机视觉的发展走向看T 字型人才与护城河成为更加熟练使用人工智能的人 参考文献与学习路径 我的职业生涯将近十年…

【多项式回归】拟合有噪声的正弦曲线

先导入模块并创建数据: from sklearn.preprocessing import PolynomialFeatures as PF from sklearn.linear_model import LinearRegression import numpy as nprnd np.random.RandomState(42) #设置随机数种子 X rnd.uniform(-3, 3, size100) y np.sin(X) rnd…

飞书开发学习笔记(六)-网页应用免登

飞书开发学习笔记(六)-网页应用免登 一.上一例的问题修正 在上一例中,飞书登录查看网页的界面显示是有误的,看了代码,理论上登录成功之后,应该显示用户名等信息。 最后的res.nickName是用户名,res.i18nName.en_us是英…