前言
随着千兆宽带的普及,越来越多用户希望充分发挥网络性能,而运营商提供的光猫往往在路由功能和管理界面上存在限制。本文将详细介绍如何获取移动光猫的超级用户权限,并将其配置为桥接模式,以便使用性能更强的第三方路由器来管理网络。
免责声明:本文仅供技术学习和个人网络优化使用,请在合法合规的前提下操作。
设备信息与背景
测试环境
- 光猫型号:XG-04G-MF
- 制造商:诺基亚贝尔股份公司
- 设备类型:10Gbit无源光网络用户端设备(XG-PON ONE)
- 运营商:中国移动
- 宽带套餐:1000M(10元宽带包+10元提速包)
- 下游路由器:基于J4125的OpenWrt软路由
技术背景
什么是光猫?
光猫(Optical Network Unit,ONU)是光纤接入网络的用户端设备,主要功能是将光信号转换为电信号,实现光纤到户(FTTH)。现代光猫通常集成了路由器功能,但性能和管理灵活性往往不如专业路由设备。
为什么需要桥接模式?
- 性能优化:专业路由器通常具有更强的处理能力和更丰富的功能
- 网络管理:避免双重NAT问题,简化网络拓扑
- 个性化配置:获得更多的网络控制权和配置选项
- 避免干扰:减少运营商远程配置对个人网络设置的影响
操作前的重要说明
权限层级说明
移动光猫通常有三个权限级别:
- user:普通用户权限(光猫背面标注),功能有限
- user_ftp:系统管理员权限,但是是user密码
- CMCCAdmin:超级管理员权限,可以进行高级配置
- root:系统管理员权限,具有完全控制能力
风险提示
- 操作过程中可能导致设备无法正常工作
- 修改配置可能影响运营商的技术支持
- 请确保具备基本的网络知识和故障排除能力
- 建议在操作前备份重要配置信息
详细操作步骤
第一步:准备工作
1.1 断开光纤连接
目的:防止运营商远程干预和配置下发
操作:拔掉光猫上的光纤接头
注意:确保只有本地网络连接
1.2 重置光猫
操作:按住光猫背面的Reset键,保持10-15秒
等待:观察指示灯,等待设备完全重启
结果:光猫恢复出厂设置,可以使用默认超级密码
1.3 网络连接
- 使用网线将电脑直接连接到光猫的LAN口
- 确保电脑获取到192.168.1.x网段的IP地址
- 可以通过浏览器访问192.168.1.1
第二步:获取超级用户权限
2.1 使用默认超级密码登录
用户名:CMCCAdmin
密码:aDm8H%MdA
登录地址:http://192.168.1.1
技术说明:这是移动光猫的出厂默认超级密码,除了诺基亚版本的光猫,其他版本同样是这个。在正常注册流程中,运营商会通过TR069协议远程修改此密码。
2.2 开启Telnet服务
访问以下URL开启Telnet:
http://192.168.1.1/system.cgi?telnet
注意:此URL仅适用于诺基亚制造的光猫型号。其他品牌可能有不同的开启方式。
第三步:获取root密码
我们提供两种方法获取root权限,推荐使用方法一:
方法一:密码解密法(推荐)
3.1 获取加密密码
- 在已登录的CMCCAdmin界面访问:
http://192.168.1.1/dumpdatamodel.cgi
- 在页面中搜索
SuPassword
,找到类似以下的代码块:
<CLIPrompt rw="RW" v="\\\\$"></CLIPrompt>
<SuPassword rw="RW" v="**************" ealgo="ab"></SuPassword>
<SSHEnable rw="RW" v="False"></SSHEnable>
- 记录
SuPassword
中v
属性的值(24个字符的加密字符串)
3.2 密码解密
诺基亚光猫使用AES-CBC加密,密钥和向量固定:
- 密钥:
3D A3 73 D7 DC 82 2E 2A 47 0D EC 37 89 6E 80 D7 2C 49 B3 16 29 DD C9 97 35 4B 84 03 91 77 9E A4
- 初始向量:
D0 E6 DC CD A7 4A 00 DF 76 0F C0 85 11 CB 05 EA
使用以下Python脚本解密:
import base64
from typing import Optional
from Crypto.Cipher import AES
class RouterCrypto:
"""路由器加密解密工具类"""
DEFAULT_KEY = '3D A3 73 D7 DC 82 2E 2A 47 0D EC 37 89 6E 80 D7 2C 49 B3 16 29 DD C9 97 35 4B 84 03 91 77 9E A4'
DEFAULT_IV = 'D0 E6 DC CD A7 4A 00 DF 76 0F C0 85 11 CB 05 EA'
def __init__(self, key: Optional[str] = None, iv: Optional[str] = None):
self.key = key or self.DEFAULT_KEY
self.iv = iv or self.DEFAULT_IV
self._cipher = None
self._init_cipher()
def _init_cipher(self) -> None:
"""初始化AES密码器"""
try:
key_bytes = self._hex_string_to_bytes(self.key)
iv_bytes = self._hex_string_to_bytes(self.iv)
self._cipher = AES.new(key_bytes, AES.MODE_CBC, iv_bytes)
except Exception as e:
raise ValueError(f"初始化密码器失败: {e}")
@staticmethod
def _hex_string_to_bytes(hex_string: str) -> bytes:
"""将十六进制字符串转换为字节"""
hex_clean = hex_string.replace(' ', '')
return bytes.fromhex(hex_clean)
@staticmethod
def _remove_pkcs7_padding(data: bytes) -> bytes:
"""移除PKCS7填充"""
if not data:
return data
padding_length = data[-1]
if padding_length > len(data) or padding_length == 0:
raise ValueError("无效的填充")
for i in range(padding_length):
if data[-(i + 1)] != padding_length:
raise ValueError("填充验证失败")
return data[:-padding_length]
def decrypt(self, encrypted_data: bytes) -> bytes:
"""解密数据"""
try:
self._init_cipher()
decrypted = self._cipher.decrypt(encrypted_data)
return self._remove_pkcs7_padding(decrypted)
except Exception as e:
raise ValueError(f"解密失败: {e}")
def decrypt_base64(self, base64_data: str, encoding: str = 'utf-8') -> str:
"""解密Base64编码的数据并返回字符串"""
try:
encrypted_bytes = base64.b64decode(base64_data)
decrypted_bytes = self.decrypt(encrypted_bytes)
return decrypted_bytes.decode(encoding)
except Exception as e:
raise ValueError(f"Base64解密失败: {e}")
def main():
# 将获取到的加密密码填入这里
encrypted_base64 = '这里填入SuPassword的v值'
try:
crypto = RouterCrypto()
decrypted_text = crypto.decrypt_base64(encrypted_base64)
print(f"解密结果: {decrypted_text}")
except Exception as e:
print(f"解密失败: {e}")
if __name__ == "__main__":
main()
方法二:FTP用户提权法
- 在CMCCAdmin界面启用FTP和Samba服务:
- 进入
应用 -> 家庭存储 -> FTP
,勾选启用FTP - 进入
应用 -> 家庭存储 -> SAMBA共享
,勾选启用Samba
- 进入
- 使用普通用户账户Telnet登录光猫
- 切换到FTP用户:
su user_ftp
# 密码与user用户相同
- 获取root权限:
su # 切换到root用户
passwd # 重置root密码
第四步:宽带账号配置
4.1 获取宽带账号密码
方法一:移动APP查询
- 登录中国移动手机APP
- 在宽带服务中查看或重置宽带密码
方法二:从光猫配置中提取
- 访问配置导出页面:
http://192.168.1.1/dumpdatamodel.cgi
- 搜索你的宽带账户名(通常是手机号),找到Username段:
<Username rw="RW" v="你的宽带账号"></Username>
<Password rw="RW" v="加密的密码" ealgo="ab"></Password>
- 使用nokia-router-cfg-tool.py脚本解密密码:
python nokia-router-cfg-tool.py -d 加密的密码字符串
4.2 注册光猫
- 重新连接光纤
- 配置宽带连接:
- 登录CMCCAdmin账户
- 进入
网络 -> 宽带设置 -> Internet连接
- 找到
2_INTERNET_B_VID_41
连接,确保使用路由模式而不是桥接 - 填入宽带账号和密码(默认密码通常是6个8)
- 保存并启用配置
- 等待注册完成:
- 观察光猫指示灯
- 注册灯熄灭,上网灯亮起表示注册成功
第五步:重置超级密码
由于运营商会在注册成功后自动修改CMCCAdmin密码,需要通过Telnet重新设置:
# 使用root或user_ftp用户登录Telnet
telnet 192.168.1.1
# 重置超级密码为原始密码
cfgcli -s InternetGatewayDevice.DeviceInfo.X_CT-COM_TeleComAccount.Password aDm8H%MdA
注意:根据测试,只有设置为
aDm8H%MdA
才能成功,其他密码可能会失败。
第六步:配置桥接模式
重新获得CMCCAdmin权限后,可以进行桥接模式配置:
- 登录管理界面:使用CMCCAdmin和重置后的密码
- 修改连接模式:
- 进入
网络 -> 宽带设置 -> Internet连接
- 将主要连接的模式从”路由”改为”桥接”
- 保存配置
- 进入
- 配置下游路由器:
- 在你的OpenWrt或其他路由器中配置PPPoE拨号
- 使用宽带账号和密码进行连接
高级配置:禁用TR069
如果你希望阻止运营商远程下发配置,可以删除TR069连接:
操作步骤
- 登录CMCCAdmin账户
- 进入
网络 -> 宽带设置 -> Internet连接
- 找到连接名称为
tr069
的项目 - 如果删除按钮被禁用,使用开发者工具:
- 按F12打开开发者工具
- 找到删除按钮的HTML元素:
<input class="buttonX" type="submit" id="do_del" value="删除" disabled>
- 删除`disabled`属性
- 点击删除按钮
TR069协议说明
TR069(Technical Report 069)是一种应用层协议,用于远程管理CPE(Customer Premises Equipment)设备。运营商通过此协议可以:
- 远程配置设备参数
- 监控设备状态
- 推送固件更新
- 重置设备配置
删除TR069连接可以阻止这些远程操作,但也可能影响运营商的技术支持服务。
网络拓扑优化建议
推荐网络架构
光纤 -> 光猫(桥接模式) -> 主路由器 -> 交换机/AP
配置要点
- 光猫设置:
- 启用桥接模式
- 关闭DHCP服务
- 关闭Wi-Fi功能(如果不需要)
- 主路由器设置:
- 配置PPPoE拨号
- 设置合适的DNS服务器
- 配置防火墙和端口转发
- 性能优化:
- 启用硬件NAT加速(如果支持)
- 优化QoS设置
- 合理分配带宽
故障排除
常见问题
问题1:无法访问192.168.1.1
- 检查网线连接
- 确认IP地址获取正确
- 尝试使用静态IP配置
问题2:默认超级密码无法登录
- 确认光猫已完全重置
- 检查光纤是否已断开
- 尝试多次重置操作
问题3:Telnet连接失败
- 确认Telnet服务已开启
- 检查Windows Telnet客户端是否已启用
- 尝试使用PuTTY等第三方工具
问题4:密码解密失败
- 检查加密字符串是否完整
- 确认使用正确的密钥和向量
- 验证Python环境和依赖库
恢复措施
如果操作过程中出现问题:
- 重新执行重置操作
- 联系运营商技术支持
- 考虑更换光猫设备
总结
通过本文的详细步骤,你应该能够成功获取移动光猫的超级用户权限,并将其配置为桥接模式。这样可以充分发挥高性能路由器的优势,获得更好的网络体验和管理灵活性。
请记住:
- 操作前做好充分准备和风险评估
- 保存重要配置信息以备恢复
- 在合法合规的前提下进行操作
- 如有疑问,及时寻求专业技术支持
注意事项:本文内容基于特定型号设备的测试结果,不同型号的光猫可能存在差异。请根据实际情况调整操作步骤,并承担相应的操作风险。
参考资料与延伸阅读
- 移动诺基亚贝尔 G-140W-MD 光猫破解超级密码和宽带账户密码
https://blog.moe233.net/posts/763b959d/ - 破解2024年新款诺基亚贝尔万兆光猫AES加密的su密码 – 十八子
https://zhuanlan.zhihu.com/p/9941974371 - 删除TR069-摆脱运营商对你的光猫控制 – Tcilay-xi
https://blog.csdn.net/weixin_55873007/article/details/132360634 - Nokia Router Configuration Tool
https://gist.github.com/Lokotito/5ab7b8627d43d583fd888a0af39d6b12
本文于2025年编写,如有技术更新或设备型号变化,请参考最新的官方文档和社区资源。