被运营商锁住的光猫,我用 zteOnu 一键打开了工厂模式
【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu
如果你正在搜「中兴光猫解锁」「光猫 Telnet 开启」这类关键词,八成和我半年前一样:刚搬进新家,网速一切正常,可光猫的管理后台翻来翻去就那么几个选项,桥接、端口映射、拨号设置全是灰色,想改都改不了。运营商把设备的真正权限锁得死死的,留给用户的只有一张"能看不能动"的界面。今天我想分享的,就是我用开源工具zteOnu这台中兴光猫彻底"解锁"的完整过程——包括踩过的坑、改过的参数,以及解锁后能做的事。它不是什么神秘黑科技,一条命令、几秒钟输出,就能把设备的工厂模式和 Telnet 权限都拿到手。
先从我家这台不听话的光猫说起
我家这台是电信送的 F663N,管理员后台的账号密码倒是给了,可登录进去才发现,能点的按钮屈指可数。想自己拨号?不行。想看看光衰?隐藏。想开 Telnet 远程维护?根本没这个入口。
后来在网上翻到一个说法:中兴光猫其实藏着一扇"后门",只要模拟出厂流程向设备发一串特殊请求,就能进入它的工厂模式——相当于拿到设备的总后台钥匙,所有隐藏项全部摊开。但问题是,这套请求要带加密参数、要按顺序发、还要处理设备返回的动态密钥,手工用浏览器一条条试,试到天亮都未必成功。
于是我找到了zteOnu。它的定位很纯粹:通过设备的webFac管理接口,自动完成"重置设备 → 请求工厂模式 → 交换密钥 → 校验登录 → 进入工厂模式"这一整套流程,把最终拿到的 Telnet 账号密码直接打印出来。想再省事一点,加个参数连永久 Telnet 都一并配好。
编译 zteOnu:一条 go build 的事
工具用 Go 写的,依赖少,编译也快。先把代码拉下来:
git clone https://gitcode.com/gh_mirrors/zt/zteOnu cd zteOnu go build -o zteonu main.go等编译完,当前目录就多了一个zteonu可执行文件。想确认参数,直接敲:
./zteonu -h命令格式很直白,就是"工具 + 可选参数 + 设备 IP"。几个常用参数我先列出来,后面讲到的场景都会用到:
| 参数 | 简写 | 默认值 | 作用 |
|---|---|---|---|
--user | -u | telecomadmin | 管理员用户名 |
--pass | -p | nE7jA%5m | 管理员密码 |
--ip | -i | 192.168.1.1 | 光猫 IP 地址 |
--port | 无 | 8080 | 光猫 HTTP 管理端口 |
--telnet | 无 | 关 | 顺手把永久 Telnet 也开了 |
--tp | 无 | 23 | Telnet 服务端口 |
--new | 无 | 关 | 用新方法发SendInfo请求 |
--mac | -m | 空 | 手动指定客户端 MAC |
跑通工厂模式的那三十秒
第一次执行的时候,我盯着屏幕犹豫了好一会儿才回车——毕竟是往设备里发重置请求,万一搞出问题,全家断网可不好交代。但想到反正有备份,心一横就按了下去:
./zteonu -u telecomadmin -p nE7jA%5m -i 192.168.1.1输出比我预想的清爽得多:
----------------------------------- step [0] reset factory: ok step [1] request factory mode: ok step [2] send sq: ok step [3] check login auth: ok step [4] enter factory mode: ok ----------------------------------- user: root pass: Zte521五个步骤,字面意思就能看懂。稍微解释下背后发生了什么:工具先激活设备的 Web 服务,再向webFac接口提交重置请求;随后请求进入工厂模式的"入场券",设备会回一个基于当前秒数生成的动态密钥;接下来的登录校验和进入工厂模式,请求体都用AES-ECB 加密传输,工具内部用密钥池算出对应密钥,加解密都是自动完成的。如果中途某个环节失败,它还会自动重试,最多重试十次,每次间隔 0.5 秒——这个设计很贴心,网络抖动时多试两次往往就过了。
跑完后屏幕打印的root / Zte521,就是这台光猫的 Telnet 登录凭证,记下来,后面有大用。
让 Telnet 永久待命:多敲一个参数
工厂模式打开只是第一步。设备重启后,Telnet 服务很可能又变回关闭状态,总不能每次想连都重新跑一遍。ztteOnu 提供了--telnet参数,它会用刚才拿到的凭证登录 Telnet,把TelnetCfg这一组配置直接写进设备的数据库并保存,重启也不丢:
./zteonu -i 192.168.1.1 --telnet这条命令跑完,会先看到工厂模式那五步输出,随后多出两行:
Permanent Telnet succeed user: root, pass: Zte521 wait reboot..工具会自动下发reboot重启光猫,等一两分钟设备上线,永久 Telnet 就生效了。想验证的话,打开终端连一下:
telnet 192.168.1.1 23用户名输root,密码输Zte521,看到命令提示符的那一刻,这台光猫才算是真正"属于你"了。ifconfig看接口状态、cat /proc/meminfo查内存、ps看进程,想怎么折腾都行。
顺带一提,工具改的是设备数据库里的这几项:开启 LAN 侧 Telnet、把登录账号密码写成root / Zte521、最大连接数设为 3、把安全等级调到 3(放开权限),最后DB save保存。原理不复杂,关键是一步到位不用手敲。
端口、新方法、MAC:几个容易踩坑的参数
用顺手之后,我发现还有几个参数藏着讲究。
自定义端口。默认的 HTTP 管理端口是 8080,如果你的光猫改过端口,或者不想暴露在默认端口下,用--port指定:
./zteonu -i 192.168.1.1 --port 8888Telnet 同理,想避开 23 这种一眼就能被扫到的端口,用--tp:
./zteonu -i 192.168.1.1 --telnet --tp 2323新版校验方法(--new)。部分较新的设备在"校验登录"那一步多了个SendInfo请求,内容是由客户端 MAC 地址经过变换生成的 46 字节数据。工具默认会读取本机第一块非回环网卡的 MAC 来生成,也可以手动指定网卡或直接给 MAC:
./zteonu -i 192.168.1.1 --new ./zteonu -i 192.168.1.1 --new --iface eth0 ./zteonu -i 192.168.1.1 --new -m 00:07:29:55:35:57这里有个坑要提醒:设备只认它"认可"的 MAC。历史上00:07:29:55:35:57这个地址是公认能通过的,如果默认网卡 MAC 不被接受,就用-m指定一个试试,或者干脆把你网卡的 MAC 改成它。
账号密码对不上。默认的telecomadmin / nE7jA%5m是电信的常见组合,如果你是其他运营商,可以试试这几组:移动CMCCAdmin / aD8mH%MdA,联通CUAdmin / CUAdmin。密码错误时输出会提示errors user or password,很好认。
解锁之后,我连全楼的光猫一起收拾了
拿到 Telnet 权限后能干的事就多了。我们小区是老小区,楼道里好几台同型号光猫,邻居总喊"网速慢""游戏掉线",其实就是光衰大、配置乱。有了 zteOnu,我写了个几行的小脚本,挨个处理:
#!/bin/bash # 批量处理多台光猫 for device_ip in 192.168.1.1 192.168.1.2 192.168.1.3; do echo "正在处理 $device_ip ..." ./zteonu -i "$device_ip" --telnet if [ $? -eq 0 ]; then echo "√ $device_ip 处理完成" else echo "× $device_ip 处理失败,检查网络或账号" fi sleep 3 done每次操作间隔 3 秒,避免设备来不及响应。脚本跑完,再用 Telnet 登进去逐个看光衰、调参数,比挨个捅重置孔强多了。家里那台 F663N 更是直接改了桥接,光猫只负责光电转换,拨号交给自己的路由器,游戏延迟肉眼可见地降了一截。
折腾下来,我踩过的几个坑汇总
写这篇的时候,我把这半年的经验捋了一遍,最常遇到的问题就这几类:
- 连不上设备:先
ping确认 IP 通不通,再看管理端口对不对,最后检查防火墙有没有拦。工具默认走 8080,很多光猫实际是 80,换--port 80试试。 - 提示 unknown error:多试几次,工具的自动重试机制一般能扛过去;还不行就重启光猫再跑。
--new模式报 MAC 相关错误:按前面说的,用-m指定认可的 MAC 地址,或者用--iface换块网卡。- Telnet 连上了却立刻断开:检查是不是设备型号不支持,或者安全等级没放开,重跑一次
--telnet让工具重新写一遍配置。
最后一句负责任的话
工具是好工具,但权限这东西,越大越要克制。几点提醒,都是我的切身教训:
- 改之前先备份。进 Telnet 后用
sendcmd 1 DB backup之类的方式留个底,万一改坏了能恢复。 - 立刻改掉默认密码。
root / Zte521是公开的,留着等于给全网开了门,登录后第一时间passwd改掉。 - 别用默认端口裸奔。Telnet 端口换成 2323、8023 这类冷门端口,至少能挡住一大半扫描。
- 只在可信网络里操作。家里、办公室的内网没问题,别拿它去折腾公共场所的设备。
回到开头那个问题:中兴光猫能不能解锁?能,而且比你想象的简单。zteOnu 把工厂模式认证、密钥交换、AES 加密、数据库配置这些原本要手工一步步做的事全封装成了几条命令,编译只要一条go build,上手成本几乎为零。它能开启的工厂模式可以看光衰、改桥接、调端口,配合永久 Telnet,维护起来更是得心应手。不过还是那句话:工具给了你能力,怎么用它,得自己掂量。合理折腾,别越界,祝你也早日拿下自家光猫的控制权。
【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考