一条命令搞定中兴光猫:zteOnu 工厂模式与永久 Telnet 完整上手指南
一条命令搞定中兴光猫:zteOnu 工厂模式与永久 Telnet 完整上手指南
【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu
深夜十二点,我在机房对着第三台中兴光猫发呆。Web 管理界面里高级功能全部灰着,Telnet 端口像死了一样安静,而手头这批设备明天一早就要上线调试。如果你也曾在某个深夜被这类设备卡住过,那这篇 zteOnu 上手指南就是为你写的——这个用 Go 写成的开源工具,专门解决中兴光猫开不了工厂模式、开不了永久 Telnet 的问题。
先看清它的全部底牌
zteOnu 的核心能力一句话就能说清:通过设备的webFac接口完成工厂模式认证,替你跑完一整条手工流程,最后把 Telnet 凭证、甚至永久生效的 Telnet 服务交到你手上。
具体拆开看,它主要能干这几件事:
- 🔑一键进工厂模式:自动完成重置、请求工厂模式、密钥协商、登录认证、换取 Telnet 账号密码的完整链路,全程无需人工干预
- ♾️永久开启 Telnet:登录后自动写库(
TelnetCfg),把启用开关、用户名、密码、连接数等参数一次改好并保存,重启不丢 - 自定义 Telnet 端口:默认 23,一条参数就能换成 2323 之类的非常规端口
- 新旧两套认证方案:老方法走默认流程;新方法(
--new)从网卡 MAC 推导SendInfo载荷,专门对付带 MAC 校验的新固件 - 跨平台单文件:Go 编译产物无依赖,Windows / Linux / macOS 都能直接跑
为什么不用浏览器手动操作
很多人会问:网页后台也能开 Telnet,为什么要专门用命令行工具?答案藏在细节里。工厂模式不是普通管理员权限能碰的,它是一组隐藏的webFac接口,需要按顺序请求多个端点、用动态密钥做 AES 加密通信,手工做既繁琐又容易在某一步出错。对比一下差距就出来了:
| 维度 | 传统手动做法 | zteOnu 命令行做法 |
|---|---|---|
| 操作步骤 | 逐条发请求、手动加密、反复试错 | 一条命令跑完全流程,失败自动重试(最多 10 次) |
| 持久性 | 重启后 Telnet 大概率失效 | 写库保存,重启后依然生效 |
| 平台要求 | 依赖浏览器与网络环境 | 任何能跑 Go 编译产物的系统 |
| 学习成本 | 要懂协议细节和密钥逻辑 | 记住-u -p -i三个参数就够 |
十分钟上手:从零到拿到 Telnet 凭证
第一步:准备编译环境
zteOnu 用 Go 编写,先确认机器上有 Go(1.16 及以上即可):
go version没有的话先装好 Go 环境,再顺手把模块代理配好,后面编译会一路顺畅。
第二步:克隆并编译
把仓库拉下来,一条命令产出可执行文件:
git clone https://gitcode.com/gh_mirrors/zt/zteOnu cd zteOnu go build -o zteonu .编译完当前目录会多出一个zteonu文件,想全局调用可以挪进系统路径:
sudo mv zteonu /usr/local/bin/第三步:验证安装
zteonu version能打印出版本信息就说明装好了;再执行zteonu -h,可以看到用户名、密码、IP、端口等全部参数及其默认值。
第四步:执行第一次核心操作
把光猫和电脑连到同一网段(默认目标192.168.1.1),直接运行:
zteonu -u telecomadmin -p nE7jA%5m -i 192.168.1.1终端会依次打印step [0]到step [4]的进度,全部ok之后,你会拿到一组 Telnet 登录账号密码——这就是工厂模式给你的通行证。
如果想让 Telnet 一次到位、重启也不失效,加上--telnet:
zteonu -u telecomadmin -p nE7jA%5m -i 192.168.1.1 --telnet工具会自动登录 Telnet、写入TelnetCfg数据库配置、保存,然后触发设备重启。重启后 Telnet 默认账号为root / Zte521,端口 23;想换端口就补一个--tp 2323。
👉 提示:默认账号密码是出厂公共凭证,如果你的设备被改过,用
-u/-p换成自己的即可。
进阶玩法:两招解决真实场景
场景一:一批设备批量开启 Telnet
运维手里往往不止一台设备。写个十来行的 Shell 循环,把设备 IP 放进数组,逐个调用 zteOnu 即可:
#!/bin/bash DEVICES=("192.168.1.1" "192.168.1.2" "192.168.1.3") USER="telecomadmin" PASS="nE7jA%5m" for device in "${DEVICES[@]}"; do echo "▶ 处理 $device" zteonu -u "$USER" -p "$PASS" -i "$device" --telnet --tp 2323 sleep 2 # 间隔两秒,避免请求过密 done每台设备的执行结果会反映在退出码上,脚本里用$?判断成败,失败设备单独记下来回头处理。
场景二:新固件 MAC 校验过不去怎么办
部分新固件会校验发起请求的客户端 MAC,老方法容易在step [3]卡住。这时改用--new模式,并显式指定一个设备认可的 MAC:
zteonu -i 192.168.1.1 --new -m 00:07:29:55:35:57--new模式下SendInfo载荷会从网卡 MAC 推导而来,你也可以用--iface指定从哪张网卡取 MAC。想深挖底层原理,可以翻看app/factory/model.go里的注释——它把设备校验用的 46 字节载荷拆解成了 12 组小端uint16,核心思路是"帧结构固定、MAC 参与异或"。
避坑清单与安全底线
常见坑与对策
| 现象 | 大概率原因 | 应对 |
|---|---|---|
| 连接超时 | IP 不在同一网段或设备未开机 | 先ping通再执行 |
| step[3] 认证失败 | 用户名密码不对 | 换回出厂默认或联系运营商确认 |
--new模式报 MAC 错误 | 设备不认当前网卡 MAC | 用-m指定历史可用的00:07:29:55:35:57 |
| Telnet 端口拒绝 | 端口被占用或未放行 | 检查 23 / 8080 端口,或换--tp端口 |
| 偶发失败 | 设备繁忙 | zteOnu 自带 10 次自动重试,耐心等它跑完即可 |
⚠️ 注意:工厂模式与 Telnet 属于"越权"入口,开启后设备等于向局域网敞开了命令行后门。建议只在受控网络里操作,用完及时关闭 Telnet,并把默认密码改掉。
责任边界
工具本身没有破坏性逻辑,它只是替你完成了本该由工程师手动执行的认证流程。但"能开"不等于"该开"——对不属于自己的设备,请先确认授权;批量操作前先在测试机上验证,操作前备份关键配置,这些习惯能让你少踩很多坑。
写在最后
回头看,那个深夜的机房其实没那么可怕。zteOnu 把中兴光猫工厂模式这条链路压缩成了一条命令:装好、跑通、拿到凭证、Telnet 永久在线,全程不超过十分钟。它适合网络运维、设备调试人员和爱折腾的技术爱好者,尤其是需要批量管理同型号光猫的团队——配合一段脚本,几十台设备几分钟就能处理完。
开源工具的价值,在于把"我知道怎么做"变成"人人都能这么做"。zteOnu 的源码就放在app/factory/、app/telnet/等目录里,逻辑清晰,想深挖或二次扩展都很方便。最后提醒一句:使用前请确认你有权操作相关设备,并遵守当地法律法规——工具是把钥匙,但锁是谁的,要先问清楚。
【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考