移动宽带送的那台中兴代工 GM620绝大多数人装完之后就把宽带账号往路由器上一填然后再也没管过它。真正开始折腾往往是在某个具体需求出现的时候想把路由器换成主路由、让光猫只做桥接结果发现后台里那个桥接选项是灰的想把宽带账号密码导出来以备换机发现那一栏永远显示一串星号想关掉远程管理免得配置被偷偷改回去翻遍菜单连入口都找不到。GM620 这类设备本质是一台跑着 Linux 的 GPON 光猫ONU中兴在这套嵌入式系统上封了一层 CGI 网页外壳。底层其实是完整的 BusyBox 环境带着sendcmd、sidbg、setmac这些直接操作配置数据库的命令。网页后台只把其中很小一部分能力暴露出来剩下的全部留在命令行里。开启 telnet 这件事的本质不是破解什么而是把你自己家里这台设备的管理权限拿回来 —— 网页给不了的开关命令行给。这篇内容适合三类人看手上是移动定制、中兴代工的光猫想改桥接用自己的路由器拨号想把自己宽带的 PPPoE 账号密码完整导出方便以后换设备想把 TR069 远程管理关掉让手动改的配置不再被覆盖。如果你只是日常上网、没打算动配置那完全不用折腾往下看当个了解就行。另外提前说明不同省份、不同批次的 GM620 固件差异不小我下面给的是判断思路加命令清单落到你这台机器上可能有一两个字段名对不上思路是通用的。1. GM620 网页后台的三层权限以及 telnet 到底绕过的是什么1.1 普通用户、超级管理员、TR069 各自的边界中兴这套光猫的网页后台权限其实是分层设计的理解这三层的边界后面所有操作才有依据。第一层是贴在设备背面的普通用户账号一般是useradmin加一串随机密码。这一层能看到 WiFi 名称密码、设备状态、光功率但 WAN 连接、端口映射、桥接模式这些一概改不了属于能看不能动。第二层是超级管理员移动定制固件的默认值通常是CMCCAdmin配aDm8H%MdA电信系则是另一套。这一层能改的东西就多了WAN 连接的连接类型、VLAN、绑定端口、DHCP 范围、TR069 开关。但装维师傅上门开通的时候很多地区会把这个密码改掉或者由后台直接下发一个新密码所以你手上这台机器的超密是什么得实际试。第三层不在网页里是 TR069 通道。这是一条运营商 ACS 服务器主动管理的链路光猫会定时上报并接受下发配置。你手动改的东西如果没关掉它过几天很可能被重新覆盖回去 —— 这是很多人改了没用的根本原因。telnet 绕过的是第一层和第二层中间那层 CGI 白名单但它登录进去之后拿到的权限比超级管理员还高因为用的是系统层的 root 账号。这一点很关键网页后台是应用层telnet 是系统层。1.2 进到命令行之后真正能拿到什么很多人以为开 telnet 就是为了拿个宽带密码其实能拿到的东西远比想象中多PPPoE 明文账号密码。这是最常被提起的sendcmd 1 DB p WANCPPP打出来就是明文的用户名和密码不用任何解密工具。完整的 WAN 连接清单。每一条连接的 VLAN ID、802.1p 优先级、连接类型Route 还是 Bridge、绑定到哪个 LAN 口全部列出来。改桥接之前先把这张表抄下来是保命的动作。设备身份信息。SN 序列号、MAC 地址列表、设备型号、硬件版本、软件版本setmac show一条就能看全。无线侧的细节。除了 SSID 和密码还有信道、带宽、发射功率的校准值、隐藏 SSID 的开关。运行状态类信息。光衰、注册状态、在线时长、会话数、CPU 和内存占用网页里看得到的和看不到的都在。对绝大多数人来说前两项就已经值回票价了。尤其是 WAN 连接清单 —— 你在改桥接、关 TR069 之前如果不把这张表导出来一旦改崩了要恢复出厂就得重新让装维上门而重新注册需要的就是这些参数。1.3 先把风险边界说清楚再动手在敲第一条命令之前有三件事必须建立认知。第一不 save 等于没改。中兴这套配置数据库是内存中改落盘要显式保存的模式。你set了一堆参数不执行sendcmd 1 DB save重启之后全部回到原样看起来像改了没用实际上是没保存。第二恢复出厂设置会清掉运营商注册信息。这是最容易被忽略的坑。恢复出厂不只是清掉你的桥接配置和超密修改还会清掉 LOID 或 SN 认证信息。如果没有提前记下来光猫重新注册不上宽带直接断只能等装维上门。所以整个流程里第一条该敲的命令是备份不是修改。第三操作的是你自己家的设备但要符合运营商入网规定。改桥接、关远程管理属于个人使用习惯调整但涉及设备身份参数的操作要谨慎不要影响正常的网络接入秩序。2. 动手前的三件准备版本确认、账号矩阵、电脑侧环境2.1 先看固件版本和页面结构决定走哪条路GM620 跟同平台的 GM219-S 等型号属于同一套中兴 ONU 固件体系命令基本通用但开启 telnet 的入口差别很大。开工前先做两件事。一是用超密登录网页后台在设备信息或者关于页面把三个版本号抄下来硬件版本、软件版本、Boot 版本。软件版本号通常长这样V1.0.0P1T2之类的格式前半段决定页面结构后半段决定是否有隐藏入口。二是直接访问一个探测页面看隐藏的 telnet 配置页是否存在http://192.168.1.1/getpage.gch?pid1002nextpagemanager_dev_telnet_t.gch如果这个地址能打开一个带Telnet勾选框和保存按钮的页面恭喜你走的是最省事的路径一。如果返回 404、空白或者直接跳回首页说明这个入口被裁掉了得走路径二。顺带说一句中兴系后台的隐藏页有个常见命名规律getpage.gch?pid1002nextpage后面接页面名页面名基本是manager_dev_xxxx_t.gch这种格式把xxxx换成telnet、conf、upgrade、sn常能撞出东西。这不是漏洞是旧版固件没清理干净的入口。2.2 GM620 常见账号密码对照表被改过密码是常态所以先把常见的组合列出来让你一次性试完别一个一个瞎猜。用途账号常见密码说明网页超级管理员CMCCAdminaDm8H%MdA移动定制固件出厂默认网页超级管理员备选CMCCAdminaDm8H%MdA 首字母大写变体部分省份固件区分大小写网页普通用户useradmin设备背面贴纸只能看状态网页普通用户备选user设备背面贴纸部分固件用这个telnet 系统账号rootZte521中兴 ONU 平台最通用的一组telnet 系统账号备选rootZte521~少数固件带尾部符号telnet 系统账号备选rootroot老版本固件偶尔可见判断超密是否被改过有个简单方法用aDm8H%MdA登录如果提示密码错误但账号存在基本就是被后台改掉了。这种情况有两条路一是翻看装维人员有没有在设备上贴新的纸条二是走路径二从备份文件里想办法。不要在原地反复试错连续失败太多有的固件会临时锁定登录。另外提醒telnet 的登录名和密码跟网页完全不是一套。很多人开成功之后拿 CMCCAdmin 去登 telnet一直失败以为是没开成功其实是账号用错了。2.3 电脑侧三套系统分别怎么打开 telnet 客户端这一步经常被跳过然后卡在命令不存在上。Windows从 Windows 10 开始telnet 客户端默认不安装。打开控制面板 → 程序和功能 → 启用或关闭 Windows 功能勾上Telnet 客户端确定后等它装完。装完之后在 cmd 里直接telnet 192.168.1.1就能用。嫌麻烦的话用 PuTTY 更省事协议选 Telnet端口 23。macOS老版本系统自带 telnet新版本已经移除了。用包管理器装一个brew install telnet # 如果没装 Homebrew也可以用系统自带的 nc 临时替代 nc 192.168.1.1 23LinuxUbuntu / Debian 系sudo apt update sudo apt install telnet -y telnet 192.168.1.1网络侧注意两点电脑最好用网线直连光猫的 LAN 口无线连有时会因为 AP 隔离或者桥接口的关系连不上另外把电脑网卡设成自动获取 IP正常会拿到192.168.1.x的地址网关是192.168.1.1。3. 三条开启路径从最省事到最稳妥3.1 路径一隐藏页面直接勾选开启这是最快的一条路前提是 2.1 里那个manager_dev_telnet_t.gch页面能打开。流程很直白超密登录网页后台 → 浏览器地址栏手动输入上面那个地址 → 页面上找到Telnet或者启用 Telnet的勾选框 → 打勾 → 点保存。保存完有些固件会提示重启有些不用重启也立刻生效。如果保存按钮点了没反应或者提示操作失败可能是两种情况一是这个入口在固件里被写死成只读二是保存动作需要先登录会话有效。遇到这种情况先退出重新用超密登录一次再试还不行就换路径二。这条路最大的优点是零风险改的就一个开关缺点是老版本固件之外新固件基本都把页面裁掉了撞不撞得上全看运气。3.2 路径二备份配置—改—回灌成功率最高这条路更绕但适用面最广我个人也是优先推荐这条。大致流程是用超密登录 → 找到设备管理里的配置备份 / 导出配置文件→ 把导出的文件存到电脑上 → 用工具或者文本编辑器改掉里面的 telnet 开关字段 → 回到网页用恢复配置 / 导入配置文件把它灌回去 → 设备自动重启telnet 就开了。这里有个分支要判断导出来的配置文件是明文 XML 还是加密包。GM620 不同批次差别很大有的是可以直接看到TELNET节点的明文用编辑器把Enable0/Enable改成1就行有的则是带校验的加密包头几个字节是固定的魔术字这种情况需要用对应版本的配置解密工具改完再加密回去否则导入时会提示文件格式错误。判断方法很简单用文本编辑器打开导出文件如果开头能看到?xml或者可读的节点名就是明文的。如果是一堆乱码就是加密的。我要提醒的是加密包的修改一定要用跟你固件版本匹配的工具。版本错配的典型症状是导入提示成功但重启后配置全丢、甚至恢复出厂那就麻烦了。另外导入配置文件本身是一次覆盖操作改之前那份原始文件务必留一份这是你唯一的后悔药。3.3 路径三一键工具的原理与取舍网上流传的一些中兴光猫开启 telnet 工具本质上做的是同一件事通过 HTTP 请求自动去访问那几个隐藏页面或者自动完成导出—修改—导入这一串动作。它们省的是手工操作的力气不改变底层原理。什么时候值得用一是你手上没有合适的文本编辑器处理加密配置包工具内嵌了解密逻辑二是你不确定隐藏页面的具体 URL工具里内置了一批版本对应的路径。什么时候不要用工具版本跟你固件对不上的时候。这类工具通常是针对特定版本区间做的跨版本使用大概率失败甚至把配置写坏。我的习惯是先按路径二手动走一遍理解原理工具只在批量处理第二台第三台设备的时候用。单台设备折腾一次手动其实不比找工具慢多少。3.4 三条路径怎么选路径适用固件耗时风险推荐度隐藏页面直开老版本、未裁剪入口2 分钟极低能开就用配置备份回灌几乎全部版本20 到 40 分钟中需版本匹配优先推荐一键工具与工具匹配的版本5 分钟中高版本错配风险批量处理时用选择逻辑其实就一句话先花两分钟试路径一能开就收工开不了直接上路径二不要在一键工具上反复试错因为工具失败你很难判断它到底改了什么。4. 登上 telnet 之后的第一批命令先把信息捞干净再动手4.1 BusyBox 环境、sendcmd 与 sidbg 的关系telnet 登进去之后看到的是一个精简的 BusyBox 环境。你能用的命令不多ls、cat、ifconfig、ps这些基础的有但vi、grep这类未必齐。别指望在这里编辑文件这里的核心工作是操作配置数据库。中兴这套系统的配置数据库有专用命令你会看到两种写法sendcmd和sidbg。它们操的是同一份数据库参数格式也几乎一样很多固件里只是做了个别名或者不同版本的主命令名。所以命令打不通的时候第一反应应该是换另一个名字再试一遍而不是怀疑自己敲错了。基本语法结构是这样的# 打印某张表的全部内容 sendcmd 1 DB p 表名 # 修改某张表某一行的某个字段 sendcmd 1 DB set 表名 行号 字段名 值 # 把内存中的改动写入 Flash sendcmd 1 DB savep是 printset是写入save是落盘。这三个操作里save是最容易被忘掉的一个也是改了没效果的头号原因。4.2 捞 PPPoE 账号密码和 WAN 连接清单登录成功后第一件事不是改是抄。按这个顺序来# 1. 宽带拨号账号密码明文 sendcmd 1 DB p WANCPPP # 2. WAN 连接总表看 VLAN、连接类型、绑定端口 sendcmd 1 DB p WANC # 3. 设备认证信息表里面也有账号相关字段 sendcmd 1 DB p DevAuthInfoWANCPPP这张表打出来通常能看到Username和Password两个字段值就是明文。把它抄到记事本里这是你以后换任何设备都用得上的东西。WANC这张表更关键里面有VLANID、VLANPriority、ConnType、BindPort这些字段。你要改桥接的时候需要的 VLAN ID 就是从这里来的。先把整张表截图或者复制出来存好再开始改任何东西。如果表名打不出来报table not found说明你这版固件里表名不一样。这时候可以用一个笨办法把常见的表名列一遍试WANC、WANCPPP、WANCD、DevAuthInfo、MgtServer、WlanBasic、LanCfg。中兴这套数据库表名跨版本变动不大一般能试出来。4.3 把 SN、MAC、无线参数导出来留档除了宽带账号这几项也值得一起抄下来# 查看设备身份参数SN、MAC、型号 setmac show # 查看软件版本和硬件信息 cat /etc/version cat /proc/cpuinfosetmac show打出来的是一张带编号的参数表512通常是 SN32769是 MAC 相关项具体编号在不同固件上略有差异以你打出来的实际内容为准。这些参数平时用不上但在换机复用原有配置、或者配置被改坏需要对照恢复的时候它们是你的底稿。无线参数也一样sendcmd 1 DB p WlanBasic这里能看到 SSID 配置、信道、带宽设置。有些定制固件会把 SSID 强制带上运营商前缀网页上改不掉的在数据库里能看到对应的字段。4.4 save 是必须动作reboot 是验证动作所有抄录工作完成后如果你一条都没改其实不需要 save。但只要动了任何一个set就必须sendcmd 1 DB save执行完这条会有一两秒的写 Flash 过程不要在这个当口断电。写完之后建议执行reboot重启一次然后重新 telnet 进去用p命令确认改动确实生效了。这个改—存—重启—复查的四步循环是我强烈建议养成的习惯。很多人改了一堆东西不存就重启重启完发现白改然后开始怀疑固件、怀疑工具、怀疑人生其实是流程少了一步。5. 拿到权限后最常做的四件事以及各自的坑5.1 改桥接VLAN 和 IPTV 是两道必须过的关改桥接的目标是让光猫不再自己拨号把拨号动作交给你的路由器。做这件事的前置条件是 5.1 之前你已经把WANC那张表抄下来了。核心是找到承载上网业务的那条 WAN 连接把它的连接类型从路由模式改成桥接模式。字段名通常是ConnType取值一般是1表示路由、2表示桥接但一定要先p出整表看字段名和当前值再改不同固件里的取值定义不一定完全一样。# 先看清楚当前值再决定改什么 sendcmd 1 DB p WANC改完桥接之后光猫的 LAN 口就变成一个透传口路由器 WAN 口接上去用之前抄下来的 PPPoE 账号密码拨号即可。这里有两个坑。第一个坑是VLAN 归属。有些地区的光猫LAN 口是带 VLAN 标签透传的路由器不支持 VLAN 就可能拨不上号。判断方法是先用路由器直接拨一次如果一直拨号失败回去检查WANC表里那条连接绑定的是哪个 LAN 口尽量用绑定的那个口。第二个坑是IPTV 和语音业务。这两条连接在很多地区是独立的 WAN 条目走不同的 VLAN。你把上网那条改成桥接不要顺手把 IPTV 那条也改了否则机顶盒会失联。正确做法是只动上网那一条IPTV 保持原状。5.2 关 TR069、改超密别把自己锁在门外关掉远程管理是让配置稳定的关键一步。相关配置通常在MgtServer这张表里sendcmd 1 DB p MgtServer打出来你会看到 URL、用户名、密码、上报周期这些字段。要关的话有两种做法一是把上报功能关掉找类似PeriodicInformEnable的开关、置0二是把 URL 改成一个无效地址让上报请求发不出去。改完记得save加reboot重启后再p一次确认没被还原。顺手把超级管理员的密码也改掉sendcmd 1 DB p DevAuthInfo sendcmd 1 DB set DevAuthInfo 0 Pass 你要设置的新密码 sendcmd 1 DB save这里的坑在于行号。DevAuthInfo表里可能有多行分别是不同账号的记录你直接写0不一定是管理员那行。所以务必先p出来看每行的User字段是什么确认了行号再 set。改错了行号可能出现普通用户密码被改成超密、而真正超密没变的情况。改完密码之后立刻退出所有会话重新用新密码登录验证一次再去做别的事。别一口气改完一堆东西才发现自己进不去了。5.3 换机复用时的参数处理换光猫的时候有的运营商会做设备绑定新设备直接注册不上。这时候的思路是把原设备的关键身份参数记录下来作为换机时向运营商报备的依据或者在新设备上按原参数配置。相关操作依赖setmac命令族# 先完整查看当前参数 setmac show # 写入指定编号的参数务必先确认编号含义 setmac 1 512 你的SN值 setmac 1 32769 你的MAC值这里有几点必须说清楚。第一setmac的编号含义跟固件强相关写错编号可能把无线校准参数覆盖掉导致 WiFi 直接不可用或者功率异常。第二写之前一定把setmac show的完整输出存一份出问题全靠它对照。第三涉及设备身份参数的操作要谨慎只在自己合法持有的设备上、以正常的换机复用为目的进行不要影响正常的网络接入秩序。我的实际做法是能通过运营商正规渠道换机就正规走流程setmac只在确认了编号、且有完整备份的前提下作为技术储备了解。5.4 无线参数的隐藏开关定制固件里有个挺烦人的设计就是 SSID 会强制带一串运营商前缀网页后台里改不掉你改了它过几天又变回去。这种情况同样是 TR069 下发的所以 5.2 里关掉远程管理是先决条件。关掉远程管理之后如果 SSID 还在被重置可以去WlanBasic表里看sendcmd 1 DB p WlanBasic找到 SSID 相关字段改成你要的名字然后save加reboot。这里需要注意的是改数据库里的 SSID 和改网页上的 SSID有的固件会触发不同的同步逻辑。稳妥的做法是网页和数据库改一致避免两边打架。另外无线这块还有一个常见需求是调整发射功率或者固定信道。信道相关的字段通常在WlanBasic里能看到但功率相关的参数涉及设备校准值不要随意改改大了可能影响射频稳定性。6. 开不了、登不上、改完不生效排查链路实录6.1 第一步永远是确认端口和页面遇到开不了 telnet正确的排查顺序是先分层再定位不要一上来就换工具。第一层看端口。在电脑上确认 23 端口是否可达# Windows telnet 192.168.1.1 23 # Linux / macOS nc -vz 192.168.1.1 23如果连接直接被拒绝说明 telnet 服务确实没起来问题在开启环节。如果连上了但登录失败说明服务已经起来问题在账号密码。这两种情况后续动作完全不同。第二层看隐藏页面是否可达。前面那个getpage.gch地址返回的是配置页、404 还是跳首页直接决定了你能不能走路径一。第三层看会话状态。有的固件保存设置需要有效的管理员会话你是用普通用户登录的话隐藏页面即使打得开点保存也会失败。6.2 常见现象与原因对照表现象最可能的原因处理方式隐藏页面 404 或跳首页固件裁剪了入口改走路径二页面能开但保存失败会话权限不足退出后用超密重新登录telnet 连不上端口不通服务未开启回到开启环节检查telnet 能连但账号密码错误用错了账号体系用 root 加系统密码不用网页账号配置导入提示格式错误加密包被改坏或版本错配用原始备份重新导入改完重启后配置还原忘了 save或 TR069 被重新下发先 save再关 TR069改桥接后路由器拨不上号VLAN 不对或 LAN 口绑错对照WANC表检查恢复配置后设备全网失效恢复出厂清掉了注册信息需要重新注册准备 LOID 或 SN这张表建议收藏一下基本上你折腾过程中会遇到的坑都在里面了。6.3 恢复出厂和恢复备份的顺序错了就断网这是我最想强调的一点因为它造成的后果最严重。正确顺序是先用 telnet 把 WAN 配置、PPPoE 账号密码、LOID 或 SN 认证信息全部抄下来存好之后才允许考虑恢复出厂。顺序反了设备一恢复出厂注册信息没了宽带直接断而且这些信息抄不出来只能等装维。还有一点恢复配置和恢复出厂是两个完全不同的操作。前者是把你导出的配置文件灌回去通常不会清注册信息后者是把所有参数清零包括运营商注册。网页上这两个选项往往长得挺像点之前一定看清楚文字。我见过不止一个人点了恢复出厂然后以为只是重启一下。如果确实需要恢复出厂提前准备好两样东西一是 LOID 或者 PON 认证密码这个通常在当初的装机单上二是宽带账号密码。有这两样恢复出厂之后自己能重新注册不至于抓瞎。7. 我在 GM620 上踩过的几个坑说几个实际折腾过程中印象最深的细节都是文档里不会写的。第一个telnet 密码的大小写。我第一次试的时候用的是zte521全小写登了三次都失败差点以为服务没开。中兴这组账号密码是Zte521首字母大写、后面的 521 是数字一个字符都不能错。这类密码没有提示错了就是错所以试的时候要有耐心别一失败就怀疑方向。第二个save 之后不要马上断电。写 Flash 的过程有一两秒这期间断电有一定概率导致配置区损坏表现是设备起不来或者参数全乱。我现在的习惯是执行完save等三秒再操作下一步虽然看起来有点多余但确实稳妥。第三个抄参数这件事要抄得足够傻。一开始我只抄了 PPPoE 账号密码觉得够了。后来改桥接的时候发现 VLAN ID 没记只能重新翻回去找中间还因为误操作把一条连接删了折腾了一个多小时。现在我改任何设备之前都会把p出来的整张表原样复制到文本文件里不管当时看不看得懂。看不懂也要抄这是成本最低的保险。第四个改完记得验证别只看命令返回。set命令执行完通常会返回一个成功提示但这个提示只代表写进了内存不代表真的生效。正确做法是save之后p一次核对再重启重启之后再p一次。多这两步能省掉后面大量的返工。第五个关于工具的心态。我一开始也在各种一键工具之间换来换去后来发现每次失败你都不知道它到底做了什么反而更难定位问题。真正让我把这件事搞明白的是老老实实走了一遍路径二导出配置、打开看结构、改一个值、导回去、重启验证。理解了这一条链路之后后面再看那些工具一眼就知道它们在做什么。最后分享一个小技巧整个过程里用手机把每一步的网页界面和 telnet 输出都拍下来。中间隔一天再回来接着弄的时候照片比记性可靠得多。
阅读完成 · 觉得有帮助?