中兴光猫工厂模式解锁实战:zteOnu 一条命令开启 Telnet 的完整指南 中兴光猫工厂模式解锁实战zteOnu 一条命令开启 Telnet 的完整指南【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu折腾了一下午管理页面桥接改不了、光功率查不到、Telnet 端口永远是 closed——如果你手头是一台中兴光猫这篇指南会用开源工具zteOnu帮你把工厂模式叫醒一条命令拿到 root 级 Telnet 账户。先交代一下我自己的经历前阵子想把家里的光猫改成桥接模式翻遍管理页只找到几个无关痛痒的开关打电话问运营商又要各种流程。后来在论坛看到有人提到中兴光猫有工厂模式这才知道设备里还藏着一层webFac管理接口——zteOnu 就是专门走这条路解锁权限的工具。整篇文章会按我踩过的坑来组织你照着走一遍就能跑通。先说清楚zteOnu 到底能帮你拿到什么简单概括这工具有四个实打实的价值一条命令激活工厂模式自动完成重置会话、握手、加密认证全流程输出临时 Telnet 凭据真实登录验证不是 HTTP 流程走完就算数工具会用临时凭据真的去登录一次 Telnet登录失败会明确告诉你永久 Telnet 二选一要么原地重启 telnetd 服务不重启设备要么写入数据库后整机重启重启后配置依然生效参数全开放IP、端口、账号密码、客户端 MAC 都能手动指定适配各种被运营商改过的设备它的原理不复杂利用设备固件遗留的webFac接口完成认证握手认证通过后设备会下发一组临时 Telnet 凭据。整个流程的核心逻辑在app/factory/模块里加密与 telnet 交互分别在app/crypto/和app/telnet/中实现想研究源码的话直接翻这几个目录。第一步花两分钟把工具编译出来工具用 Go 编写前提是你电脑上有 Go 环境。确认方法终端执行go version能输出版本号就行。然后拉取源码并编译git clone https://gitcode.com/gh_mirrors/zt/zteOnu cd zteOnu go build -o zteonu .编译完成后当前目录会出现zteonu可执行文件。顺手验证一下参数是否齐全./zteonu -h第二步直接连看看默认参数能不能跑通大多数中兴光猫的管理地址是192.168.1.1:8080出厂超级账号是telecomadmin / nE7jA%5m。把电脑网线直连光猫或确保同一网段直接运行./zteonu你会看到工具按步骤推进大致输出如下版本横幅已省略----------------------------------- [00:07:29:55:35:57] step [0] reset factory: ok [00:07:29:55:35:57] step [1] request factory mode: ok [00:07:29:55:35:57] step [2] send sq: ok [00:07:29:55:35:57] step [3] check login auth: ok [00:07:29:55:35:57] step [4] enter factory mode: ok [00:07:29:55:35:57] temp user: root, pass: Zte521 ----------------------------------- telnet verified, temp factory telnet is open 图片占位建议在此处放置一张工具运行成功的终端截图包含 step 0~4 与telnet verified输出方便读者对照验证。注意输出的第一段方括号里的 MAC——这是工具自动检测到的客户端网卡 MAC稍后讲 MAC 时你会再见到它。第三步读懂每一步在干什么这五步看着唬人其实每一行都有明确含义看源码app/factory/flow.go对应关系如下步骤实际动作step [0] reset factory先 GET 一次根路径激活 web 服务再 POSTwebFac重置陈旧会话step [1] request factory mode请求工厂模式设备会直接断开连接EOF表示接受step [2] send sq发送随机数换取会话密钥新固件还会返回newrand二次随机数step [3] check login auth用密钥加密账号密码做认证新版固件在此前会先发送带 MAC 的SendInfo载荷step [4] enter factory mode请求下发临时 Telnet 账户密码关键点这几步走完只代表 HTTP 层面通过最后一行telnet verified才是真正的验收——工具拿着临时凭据去登录了一次 Telnet登录成功才会打印这行字。这设计很贴心避免了你拿着失效凭据去手动连设备才发现不行。进阶一设备 IP 或密码被运营商改过怎么办地区不同、固件不同光猫地址和超级密码经常对不上。这时候用参数手动指定./zteonu -i 192.168.2.1 -u admin -p admin123 --port 80参数含义默认值-i光猫 IP 地址192.168.1.1-u工厂模式认证用户名telecomadmin-p工厂模式认证密码nE7jA%5m--port光猫 HTTP 端口8080如果你不确定被改成什么先用浏览器登录管理页看看当前账号再把这个账号传给-u/-p。密码里的特殊字符记得用引号包住避免被 shell 转义。进阶二永久 Telnet重启后依然有效临时凭据有个隐患设备重启后可能失效。想一劳永逸就加--telnet./zteonu --telnet这条命令会在临时登录验证通过后通过sendcmd 1 DB set TelnetCfg 0 ...系列命令把 LAN 访问、登录名root、密码Zte521写入设备数据库并保存然后原地重启 telnetd 服务——注意是只重启 telnetd不是重启整台光猫源码里走的是sendcmd -pc kill pid让程序管理器重新拉起服务。看到下面这些输出就说明成功了Permanent Telnet saved user: root, pass: Zte521 restarting telnetd in place (no reboot).. telnetd restarted, verifying permanent telnet.. permanent telnet verified after in-place restart之后 Telnet 的固定凭据就是root / Zte521。如果你希望整机重启来应用配置用--telnet-restart代替--telnet./zteonu --telnet-restart输出里的区别是会出现wait reboot..和device is rebooting。⚠️ 这两个参数互斥同时传会直接报错退出。另外如果光猫的 Telnet 端口不是默认的 23用-tp指定./zteonu --telnet -tp 2323注意--telnet-restart会触发设备重启请避开业务高峰期操作前先备份配置。进阶三MAC 不对导致的玄学失败这是很多人卡住的地方值得单独讲。新固件的验证流程里SendInfo校验载荷需要携带客户端 MAC 地址设备只认它接受的 MAC。工具取 MAC 的顺序是-m手动指定 --iface指定网卡 自动检测向光猫 IP 拨一个 UDP 连接做路由探测不发数据包找到对应网卡的 MAC。自动检测正常时你什么都不用做。但如果输出提示 MAC 相关错误按下面顺序处理# 指定某块网卡让工具读它的 MAC ./zteonu -i 192.168.1.1 --iface eth0 # 直接手写 MAC历史上设备认可 00:07:29:55:35:57 ./zteonu -i 192.168.1.1 -m 00:07:29:55:35:57为什么设备会认特定的 MAC因为SendInfo载荷的生成逻辑是逆向设备验证虚拟机得到的46 字节的载荷包含 12 个小端uint16数值每个数值做w^1271 mod 2537运算后取低字节6 个一组与 MAC 逐字节比对。换句话说前 6 个数值是 MAC 各字节的原像只有设备认可的 MAC 才能通过校验。源码注释在app/factory/模块里写得很清楚感兴趣可以翻翻。参数速查手册参数短参数默认值作用--user-utelecomadmin工厂模式认证用户名--pass-pnE7jA%5m工厂模式认证密码--ip-i192.168.1.1光猫 IP 地址--port-8080光猫 HTTP 端口--telnet-false永久 Telnet原地重启 telnetd 生效--telnet-restart-false永久 Telnet重启设备生效与--telnet互斥--tp-23光猫 Telnet 端口--iface-自动检测指定读取 MAC 的网卡--mac-m自动检测手动指定客户端 MAC想确认全部参数随时./zteonu -h。常见问题快问快答Q1一直连接失败怎么排查按这个顺序走先ping 192.168.1.1确认与光猫同网段 → 检查防火墙/杀毒软件是否拦截 8080 端口 → 确认账号密码是否被运营商改过用-u/-p传正确凭据→ 最后确认设备是否真的是中兴 ONU。Q2报errors user or password是什么问题HTTP 401说明工厂模式认证的用户名或密码不对。确认设备超级账号后用-u/-p重新传入再跑。Q3telnet verification failed怎么办HTTP 流程通过但 Telnet 登录失败最常见原因是客户端 MAC 不被设备认可。先看输出的方括号里是什么 MAC然后按进阶三的方式用-m 00:07:29:55:35:57或--iface指定。Q4提示 MAC 不可用要么指定一块有真实 6 字节 MAC 的网卡--iface要么直接用-m手写一个设备认可的 MAC。虚拟网卡、没有 MAC 的接口都会触发这个错误。Q5--telnet和--telnet-restart能一起用吗不能两个参数互斥同时传入会报错。想不重启设备就选--telnet想整机重启应用配置就选--telnet-restart。最后说两句回到开头那个让我折腾了一下午的场景管理页面功能受限、Telnet 无处可寻——现在你知道解法了一台电脑、一条命令zteOnu 就能把中兴光猫的工厂模式撬开临时凭据也好、永久 Telnet 也好设备控制权从此刻真正回到你手里。解锁只是第一步桥接、光路诊断、日志分析的大门从此都敞开了。老规矩提醒一句解锁权限意味着更大的责任。请在你自己拥有或获得授权的设备上操作动配置前先备份改完参数记得核对——权限越大越要谨慎。动手试试吧看到telnet verified那一刻的踏实感值得你花这两分钟。【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考