ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

中兴G7615AV5光猫配置实战:超密获取、桥接切换与Telnet自动化

中兴G7615AV5光猫配置实战:超密获取、桥接切换与Telnet自动化

简介:面向中兴G7615AV5光猫用户的配置源码包,适合具备基础网络知识、需要固化Telnet并获取超级账户权限以完成设备注册与业务下发的使用者。资源共3个文件,主要包含inscode在线运行脚本、html说明页面与gitignore版本管理配置,整包仅5KB,体量精简、结构清晰,方便直接运行和二次调整。已有3201人学习,内容围绕江苏移动场景,覆盖固化Telnet、超级账户密码获取、zteOnu工具开启临时账号、修改SN和MAC等关键操作;脚本可在线运行,说明页可随时查阅,gitignore配置则便于管理工程文件。文中着重指出Telnet固化后重启不会失效、SN与MAC修改后即使恢复出厂设置也不还原,并给出风险规避与谨慎操作建议,能有效减少试错成本。整体适合作为光猫高级配置、设备替换或故障排查时的速查与运行参考,也适合有一定排障能力的用户对照使用。

1. 中兴G7615AV5光猫配置:先把“可运行源码”理解为能直接跑的命令

宽带师傅装完G7615AV5就撤了,测速显示有千兆甚至两千兆,可真到晚上打游戏跳Ping、NAS下载跑不满,很多人第一反应是换路由器。真正卡住的往往不是路由器,而是光猫默认开了路由加NAT,内网流量全在光猫这颗芯片上过一遍。

G7615AV5带2.5G LAN口,硬件本身不差,但配置锁在运营商模板里:超级密码被随机化、Telnet默认关闭、TR069定时上报,你想自己拨号、换桥接、调无线参数,门都进不去。这说的“可运行源码”,不是中兴放出来的固件源码包,而是配置过程中真正能一次性跑通的命令序列和Python脚本。

这篇把G7615AV5从超密获取、Telnet开启到桥接切换、TR069关闭的完整链路写清楚,命令和脚本都能直接执行、跑完能验证。适合已经拿到G7615AV5、想自己掌控宽带入口的人,也适合手头有中兴7615系列、需要快速找到配置门路的运维朋友。

2. 开工前确认设备状态:把固件版本、超密和Telnet通道一次摸清

2.1 登录管理页,把G7615AV5的固件版本和区域信息记进剪贴板

拿到G7615AV5,别急着拆机。先把光猫翻过来,背面贴纸上有两个关键信息:默认网关地址和普通用户账号,电信版本通常叫useradmin,密码就贴在标签上。浏览器进 http://192.168.1.1 ,用useradmin登录,进入“状态 > 设备信息”,把软件版本、硬件版本、PON模式(10G EPON还是10G GPON)抄下来。

为什么这一步不能跳?中兴光猫的Telnet能不能开、默认密码是什么,和固件版本强相关。我手里几台G7615AV5,V1.0版固件的Telnet行为和老款G7615基本一致,超级密码偶尔还是默认值;V2.0之后的版本,局端下发配置时会顺手把超密改成随机的,Telnet也默认锁死,有些省份模板把Telnet的Lan_Enable直接写成0,不改这个字段,后面什么都做不了。

区域信息同样重要。同一台G7615AV5,在不同省份拿到的默认登录页地址、超管账号首字母都可能不一样,有的省份管理页默认地址是192.168.1.1,有的会改成192.168.2.1。提前看一眼,不至于后面Telnet脚本填错IP白折腾。

2.2 获取电信光猫超级管理密码:三条路径和选择顺序

拿到超级管理员密码,整个配置就等于成功了一半。常见做法按优先级排,第一条路是先试默认密码组合,telecomadmin / nE7jA%5m。这是中兴光猫沿用多年的老默认,新装设备里已经很少见,但如果你手里是退网下来的旧猫,或者做过恢复出厂操作,可以先用它碰一下运气。

第二条路是恢复出厂设置后重新注册。按住reset孔重启,光猫会清掉局端模板,重新走LOID注册流程。代价是IPTV、电话、原宽带账号绑定全部要重新配,而且部分省份注册一次就重新下发随机超密,这条路并不总能拿到固定密码。

第三条路是现在群里用得最多的方式:用社区里流传的中兴开Telnet工具。这类工具原理基本一致,把从管理页抄到的设备MAC、固件版本填进去,生成一次性开启口令;拿到后用root账户登录Telnet,在shell里把DevAuthInfo这张表读出来,超密明文就躺在里面。它属于中兴调试口遗留下来的通道,不是破解,工具名随固件版本更新换代,不固定,但思路一直是这样。

提示:不管用哪条路径拿到超密,都别急着改。先把原始密码和登录页面截图存一份,后面改配置翻车了要回滚,这是唯一的后悔药。

2.3 让Telnet从“Connection refused”变成BusyBox提示符

判断这台G7615AV5的调试口是不是开着,我会直接在电脑终端敲一条命令:

telnet 192.168.1.1 23

如果光标停住没反应,或者几秒后报“Connection refused / Unable to connect”,说明Telnet端口没开。如果出现Login提示,说明通道是通的,直接输入账号密码进shell。

G7615AV5的Telnet默认账号常见组合是 root / Zte521,部分省份模板改成了 root / Zte521@admin。如果都登不进去,就用2.2节里说的开Telnet工具重新生成一次口令再试。登录进去后,通常会看到BusyBox的#或$提示符,中兴的调试shell不是完整Linux,能用的命令有限,但sendcmd这组命令永远在,它负责读写光猫的配置数据库,后面所有操作都从它入口。

碰到Telnet端口确实没开的情况,如果工具生成的临时通道能进shell,先执行下面三条命令把Telnet固定打开:

sendcmd 1 DB set TelnetCfg 0 Lan_Enable 1 sendcmd 1 DB set TelnetCfg 0 Lan_EnableAfterReset 1 sendcmd 1 DB save

第一行打开当前Telnet服务,第二行保证重启后仍然开启,第三行把改动写进flash存储。执行完重新telnet连接,如果能正常登录,说明通道已经固定。

3. 真正能跑的配置源码:sendcmd命令组与桥接切换

3.1 sendcmd DB体系:中兴光猫的配置数据库怎么读写

中兴光猫所有配置都存放在一个嵌入式数据库里,每张表存储一类功能配置:DevAuthInfo管管理员和普通用户账号,TelnetCfg管Telnet开关和密码,ManagementServer管TR069远程管理,WANIPConn管WAN连接。sendcmd 1 DB是操作这套数据库的固定入口,p是打印表内容,set是修改字段,del是删除条目,save是把内存里的改动写回flash。

命令格式固定为:

sendcmd 1 DB p 表名 sendcmd 1 DB set 表名 索引 字段名 值 sendcmd 1 DB save

索引从0开始,比如DevAuthInfo表里通常有两条记录,索引0是超级管理员,索引1是普通用户useradmin。修改前先p一下看清楚结构,再动手set,这个习惯能避免把账号权限改错。

这里有一个容易懵的点:很多命令敲完,光猫回显一个OK或Success,看着像成功了,但重启后配置全部还原。原因在于改动只落在内存,必须执行sendcmd 1 DB save才会持久化。我会在每一条关键配置修改后都跟一条save,别嫌啰嗦,血泪经验。

3.2 超密与Telnet密码修改命令组:直接复制执行

登录Telnet后,先确认当前管理账号表结构,执行:

sendcmd 1 DB p DevAuthInfo

输出里能看到User、Pass、Level这几个字段,Pass显示的就是明文超密。如果这里读出来是默认值或空白,说明设备还没被局端下发随机超密,直接改即可。接着执行以下命令组:

sendcmd 1 DB set DevAuthInfo 0 User telecomadmin sendcmd 1 DB set DevAuthInfo 0 Pass Admin@2026 sendcmd 1 DB set DevAuthInfo 0 Level 1 sendcmd 1 DB save

第一行保持管理账号名为telecomadmin,第二行把密码改成你指定的新密码,第三行把权限级别设为1,也就是管理员级别,第四行持久化。建议密码至少14位,含大小写字母和数字,别用admin123这种,后面TR069虽然关了但局域网内防扫描还是要的。

Telnet自身的密码也一并换掉,继续执行:

sendcmd 1 DB set TelnetCfg 0 TSLan_UPwd NewTelnet@2026 sendcmd 1 DB set TelnetCfg 0 TS_UPwd NewTelnet@2026 sendcmd 1 DB save

TSLan_UPwd是局域网Telnet登录密码,TS_UPwd是超级终端登录密码,两个都改一致,避免只改一个导致登录时校验来源不一致。

验证方式很简单,退出Telnet重新连接,用新密码登录,能进去说明字段生效。这时再用telecomadmin加新密码登录光猫管理页,管理界面也会放行,因为Web和Telnet读的是同一张DevAuthInfo表。

3.3 桥接切换:Web UI执行、Telnet验证,别在命令行里硬改

很多教程会指导直接用sendcmd去改WANIPConn表的连接类型,我不推荐这么做。G7615AV5的WAN连接表里,INTERNET、IPTV、TR069各占一条记录,字段之间还有联动关系,命令行硬改漏掉一个绑定关系,IPTV直接挂掉,排查起来非常折腾。

安全做法是:Web UI切换到桥接,Telnet里验证结果。先用telecomadmin登录管理页,找到“网络 > 宽带设置”,列表里能看到INTERNET、IPTV等连接;选中INTERNET那条,把模式从路由改成桥接,桥接类型选IPoE或PPPoE桥接都可以,绑定LAN1口,保存后光猫会重启一次。

重启完,Telnet里执行:

sendcmd 1 DB p WANIPConn

输出里能看到各条WAN连接,重点看INTERNET那条的模式字段和绑定端口,确认已经变成桥接模式。此时光猫不再自己拨号,原来路由模式下分配到的公网IP会消失,你的路由器WAN口需要改成PPPoE拨号,填入宽带账号密码,由路由器来完成拨号。

顺手把TR069的定时上报关掉,命令组如下:

sendcmd 1 DB set ManagementServer 0 URL http://127.0.0.1 sendcmd 1 DB set ManagementServer 0 PeriodicInformEnable 0 sendcmd 1 DB save

第一行把ACS地址改成回环地址,让光猫找不到远程管理服务器,第二行关掉周期上报,第三行持久化。TR069是运营商远程管理通道,留着会让局端随时改回路由模式,关闭后光猫才真正归你管。

注意:关TR069前确认你的IPTV或固话不依赖局端动态下发配置。如果IPTV是IPOE动态鉴权,关了TR069可能收不到组播配置,后面避坑章节会细说。

4. 用Python把G7615AV5配置做成一条命令:可运行源码脚本

4.1 telnetlib基础连接框架:三分钟跑通最小可用脚本

命令行里一条条敲sendcmd,适合只改一台设备。手里有多台G7615AV5要维护时,我一般会把操作写成Python脚本,用telnetlib库自动登录、自动执行、自动保存。telnetlib是Python 3标准库,不需要pip装任何依赖,只要是Python 3.8到3.12环境就能跑。

最小可用脚本先实现连接和登录:

#!/usr/bin/env python3 # g7615av5_connect.py # 功能:连接G7615AV5 Telnet并登录 import telnetlib import sys MODEM_IP = "192.168.1.1" TELNET_USER = "root" TELNET_PASS = "Zte521" # 按你自己的Telnet密码改 tn = telnetlib.Telnet(MODEM_IP, 23, timeout=10) tn.read_until(b"Login:", timeout=5) tn.write(TELNET_USER.encode("ascii") + b"\r\n") tn.read_until(b"Password:", timeout=5) tn.write(TELNET_PASS.encode("ascii") + b"\r\n") time.sleep(1) banner = tn.read_very_eager().decode("utf-8", errors="ignore") print(banner) tn.close()

这里有个细节:read_until里我写的是Login,大写L,部分固件提示符是小写login,脚本会一直等到超时。碰到这种情况,把read_until的字符串改成小写,或者直接用sleep固定等待1秒再write,兼容性更好。

4.2 全自动执行超密、TR069与WAN连接确认

把配置动作封装成一个完整脚本,改造上面框架,加入超密修改、TR069关闭、WAN连接打印:

#!/usr/bin/env python3 # g7615av5_fast_setup.py # 功能:自动登录Telnet -> 修改超密 -> 关闭TR069 -> 打印WAN连接列表 import telnetlib import time import sys MODEM_IP = "192.168.1.1" TELNET_USER = "root" TELNET_PASS = "Zte521" # 你的Telnet密码 NEW_ADMIN_PASS = "Admin@2026" # 新超密,至少14位 def exec_cmd(tn, cmd, delay=0.8): tn.write(cmd.encode("ascii") + b"\r\n") time.sleep(delay) return tn.read_very_eager().decode("utf-8", errors="ignore") def main(): try: tn = telnetlib.Telnet(MODEM_IP, 23, timeout=10) print(f"[OK] 已连接 {MODEM_IP}:23") except Exception as e: print(f"[失败] 连不上 {MODEM_IP}:23,先检查Telnet端口:{e}") sys.exit(1) try: tn.read_until(b"Login:", timeout=5) except Exception: time.sleep(1) # 部分固件无login提示符,直接等待 tn.write(TELNET_USER.encode("ascii") + b"\r\n") try: tn.read_until(b"Password:", timeout=5) except Exception: time.sleep(1) tn.write(TELNET_PASS.encode("ascii") + b"\r\n") time.sleep(1) banner = tn.read_very_eager().decode("utf-8", errors="ignore") if "incorrect" in banner.lower(): print("[失败] Telnet账号密码不对,请检查TELNET_USER和TELNET_PASS") sys.exit(1) print("[OK] Telnet登录成功") # 1) 读取当前管理账号表,确认修改前状态 out = exec_cmd(tn, "sendcmd 1 DB p DevAuthInfo") print(out) # 2) 修改超级管理员密码 exec_cmd(tn, f"sendcmd 1 DB set DevAuthInfo 0 Pass {NEW_ADMIN_PASS}") exec_cmd(tn, "sendcmd 1 DB set DevAuthInfo 0 Level 1") # 3) 关闭TR069周期上报,ACS地址指向本机 exec_cmd(tn, "sendcmd 1 DB set ManagementServer 0 URL http://127.0.0.1") exec_cmd(tn, "sendcmd 1 DB set ManagementServer 0 PeriodicInformEnable 0") # 4) 打印WAN连接列表,确认桥接状态 out = exec_cmd(tn, "sendcmd 1 DB p WANIPConn") print(out) # 5) 保存所有改动 exec_cmd(tn, "sendcmd 1 DB save", delay=2) print(f"[完成] 超密已修改为 {NEW_ADMIN_PASS}") tn.close() if __name__ == "__main__": main()

脚本逻辑分五步,每一步都有实际意义:第一步打印DevAuthInfo是让你核对当前表结构和索引,避免把密码写到错误的用户条目上;第二步改密码和权限;第三步关TR069;第四步输出WANIPConn表,用来判断桥接是否已经生效;第五步save,缺了这一步所有改动重启即失效。

4.3 脚本参数怎么调、输出怎么看

脚本顶部四个常量是唯一需要改的地方:MODEM_IP按你光猫管理页地址填,TELNET_USER和TELNET_PASS按Telnet实际账号密码填,NEW_ADMIN_PASS改成你想设置的新超密。其他代码不需要动。

跑起来看到“sendcmd 1 DB set”没有回显OK,不用慌,这是正常现象,部分固件对set命令静默处理,没有回显提示。判断成功与否看最后一步“sendcmd 1 DB save”的延时输出,以及重新telnet登录时用新密码能不能进。

输出里的WANIPConn表怎么看?关注ServiceList字段,INTERNET表示宽带上网连接,IPTV表示电视连接;再看ConnectionMode或类似字段,显示桥接说明光猫不再承担拨号,显示路由说明还是光猫在拨号。如果你还没切换桥接,这里看到的会是路由模式,属于正常输出,不是脚本故障。

提示:脚本每执行一次都会改一遍超密。如果跑完发现新密码忘了,用一开始存的原始超密截图和Telnet密码还能登回去,所以2.1节里让保存原始信息,就是这个原因。

5. G7615AV5配置避坑:五条踩过才懂的经验

5.1 现象一:默认超密登录失败,原始配置没备份

用telecomadmin加默认密码登录管理页,直接提示密码错误,之前又没保存任何原始配置,光猫进不去,Telnet也没开,整套配置卡在第一步。

原因:局端下发模板时已经把超密随机化,而且不抄到标签上;恢复出厂后重新注册,局端又会下发一次随机超密。

解决:先确认设备背面标签上的useradmin能不能登录管理页,能登录就去状态页把固件版本和设备MAC抄下来,用开Telnet工具生成一次性口令,从Telnet里读DevAuthInfo拿到超密。拿到后第一时间执行sendcmd 1 DB save锁定配置,再把新超密记到本地密码管理工具里。

5.2 现象二:Telnet能开但23端口连不上,工具显示已开启

开Telnet工具执行完,显示成功,但电脑telnet 192.168.1.1 23就是拒绝连接。

原因:工具只是把telnetd进程拉起来,但光猫防火墙规则没放行23端口来自LAN侧的访问;或者TelnetCfg表里Lan_Enable是0,Lan_EnableAfterReset是1,重启后又被重置。

解决:用工具生成的临时通道进入shell,执行sendcmd 1 DB set TelnetCfg 0 Lan_Enable 1和sendcmd 1 DB set TelnetCfg 0 Lan_EnableAfterReset 1,再执行sendcmd 1 DB set Firewall 0 Enable 0把防火墙暂时关掉,最后save。多数情况下是Lan_Enable字段没有真正置1,命令行确认一次比工具提示更可靠。

5.3 现象三:TR069关掉后网速反而下降,Ping网关都抖

TR069关闭后,光猫指示灯正常,但上网速度变慢,延迟不稳。

原因:部分省份的光猫拨号依赖TR069通道维持PPP会话保活,关闭ACS地址后光猫不断重试连接远程服务器,重试流量占用了WAN侧资源。

解决:不要彻底删掉TR069连接,只改ACS地址为http://127.0.0.1,并把PeriodicInformEnable置0。这样光猫不会主动找远程服务器,但TR069连接本身还存在于WANIPConn表里,PPPoE拨号会话不会断。如果改完还是掉速,回滚改回原ACS地址,优先保网络稳定。

5.4 现象四:桥接后IPTV直接黑屏,固话也没声音

改完桥接,宽带拨号正常了,但IPTV机顶盒开机卡在加载界面,固话摘机没音。

原因:桥接切换时只关注INTERNET连接,把IPTV和VOIP的WAN连接也连带改成了桥接模式,或者绑定LAN口时把IPTV业务绑定的LAN2口一并改走。

解决:在Web UI里重新检查WANIPConn表,IPTV那条连接保持路由模式,绑定到光猫的LAN2口,不要和INTERNET共用同一个LAN口。机顶盒接光猫LAN2,由光猫继续承担IPOE拨号。改回去后注册一次IPTV业务,通常几分钟内恢复。

5.5 现象五:Python脚本明明执行了,重启后超密回到旧值

脚本跑完提示完成,光猫一重启,超密又变回原来那串随机密码。

原因:sendcmd 1 DB save没有真正执行,或者脚本在save前就关闭了Telnet连接。部分固件save命令执行较慢,需要2秒以上才写完flash,脚本里save后的延时太短导致写入中断。

解决:脚本里save后加time.sleep(3)再执行tn.read_very_eager(),确认返回OK或Success再关闭连接。手动操作时也一样,save后等三秒再退出Telnet。改完手动reboot一次,重启后重新登录验证新超密,这一步花十秒,能省掉后面一小时的排查。

6. 验证配置是否生效的实操技巧:三招收尾

6.1 第一招:用光猫状态页验证WAN连接模式

超密登录管理页,进入“状态 > WAN信息”或“宽带信息”,看INTERNET那条连接的IP地址。如果显示的是192.168开头或100.64开头,说明光猫还在路由拨号;如果显示“未连接”或“获取IP失败”,说明桥接已经生效,现在该由路由器去拨号了。

6.2 第二招:电脑直连PPPoE拨号验证桥接链路

把电脑网线直接插光猫LAN1口,在电脑上新建PPPoE拨号,填入宽带账号密码。能拨通并获取到公网IP,说明从光猫到局端OLT这一段桥接链路是通的,问题只可能出在你的路由器上。这招能快速区分光猫配置问题和路由器配置问题,排查链路时我每次都先用这一招。

6.3 第三招:固件升级前先导出配置备份

G7615AV5的Web管理页里有配置备份导出功能,登录超密后找到“设备管理 > 配置管理”,导出配置文件。我个人的习惯是每次改完配置导出一份,文件名带上日期和改动内容,比如“G7615_20260125_bridge_backup.bin”。固件升级前必做备份,这是降级和回滚的唯一后悔药。

这台光猫改完桥接后,我通常还会再观察一晚上,看Ping网关延迟是否稳定在1ms以内,测速是否达到宽带标称值的九成以上。确认稳定后再把原来的光猫Wi-Fi关闭,只保留LAN口出线,让路由器专职负责无线覆盖。

希望这些命令和脚本能帮你把G7615AV5真正变成自己的设备,而不是继续被默认模板束缚。改配置前多看两眼版本信息,改完自己拨号测一遍,遇到问题按避坑清单逐条查,大概率能一次过。如果哪条命令在你设备上回显不一样,先对比固件版本,再用p命令看表结构,别硬套,祝你好运。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进