Skip to content

Instantly share code, notes, and snippets.

@Bubbu0129
Last active October 22, 2024 03:34
Show Gist options
  • Save Bubbu0129/36b124b839c4b094cfd4f9b38499249e to your computer and use it in GitHub Desktop.
Save Bubbu0129/36b124b839c4b094cfd4f9b38499249e to your computer and use it in GitHub Desktop.

中国移动在为用户安装宽带时,总会好心地“赠送”一个光猫(调制解调器)。这看似是个不错的促销手段,但通常情况下,这个“赠品”会给用户带来许多麻烦。

赠送的“光猫”安装了许多不必要的功能。光猫的本职工作是进行光电转换,然而中国移动的“光猫”不仅承担着光电转换的任务,还同时进行拨号上网、路由、地址转换(NAT)、端口映射、文件服务器(FTP)等等额外的功能。这些功能让本就廉价而算力低下的光猫运行缓慢,不堪重负。最可气的是,中国移动为了节约维护成本,将光猫的绝大多数设置项锁定,防止用户修改。为了重新“拥有”光猫,我决定夺回对光猫的控制权。

适用范围

  • 中国移动产品
  • 能够开启Telnet服务

我的型号是H2-2。下列操作理论上使用于其他型号。

关闭多余服务

  1. 浏览器前往 http://192.168.1.1/ (默认地址),输入光猫下的账号(user)与对应密码登录Web UI。
  2. 关闭WLAN、Samba、FTP等不需要的功能。

使用Telnet登录后台

  1. 浏览器前往 http://192.168.1.1/ (默认地址),输入光猫下的账号(user)与对应密码登录Web UI。
  2. 新建标签页,前往 http://192.168.1.1/getpage.gch?pid=1002&nextpage=tele_sec_tserver_t.gch (或 http://192.168.1.1/usr=CMCCAdmin&psw=aDm8H%25MdA&cmd=1&telnet.gch ),打开Telnet on LAN。
  3. 启用Telnet客户端,命令行执行 telnet 192.168.1.1,使用 Username: CMCCAdmin; Password: aDm8H%25MdA 登录。
  4. 执行 su,使用 Password: aDm8H%25MdA 获取root权限。

登录管理员账号

光猫使用 sidbg 1 DB 管理参数数据库 DB。因此对于光猫的修改,大都可以直接对数据库进行操作。具体语法直接输入尝试即可。主要用到:

  • 设置条目值:sidbg 1 DB set <Table-Name> <Row-Number> <Item-Name> <Value>
  • 查看表:sidbg 1 DB p <Table-Name>
  • 解密数据库:sidbg 1 DB decry /userconfig/cfg/db_user_cfg.xml
  • 保存数据库:sidbg 1 DB save
    可以通过解密数据库得到管理员账号、密码,但直接设置更加方便
    sidbg 1 DB set DevAuthInfo 0 User <Username>
    sidbg 1 DB set DevAuthInfo 0 Pass <Password>
    sidbg 1 DB save

其中<Username><Password>字段自行定义。 之后,使用设置好的账号密码登录Web UI即可。

禁用远程控制

得到管理员账号后能够修改更多设置,但中国移动仍然能够远程控制你的光猫。许多用户曾遭到远程重置的待遇。况且,外人能够远程监控家用网络设备就足够令人心惊胆战了。所以,首当其冲应当禁用远程控制。 打开“网络侧信息”能够看到,共有四个连接:TR069InternetVOIPOTHERTR069就是远程控制的连接。Web UI是无法禁用此连接的,只能从后台进行操作。

  1. 进入Telnet,获取root权限
  2. 执行命令
   sidbg 1 DB p WANC | grep 'Enable/|WANCName' #查看连接列表
   sidbg 1 DB set WANC 0 Enable 0 #禁用TR069连接
   sidbg 1 DB set MgtServer 0 URL http://0.0.0.0 #修改ACS报告URL
   sidbg 1 DB set MgtServer 0 PeriodicInformEnable 0 #禁用定时报表
   sidbg 1 DB save
  1. reboot 重启光猫。
  2. 等待重启后查看Web UI,TR069连接应显示“断开” Note: 禁用远程控制也能够减少光猫负载。

路由改桥接

如果拥有路由器,使用路由器拨号能够一定程度上减轻光猫负担,提高网速。 首先要得到宽带的账号与密码。账号为绑定的手机号,密码可以致电客服查询,也可以解密数据库(见下文)得到。 具体实现方法各异。这一方面教程众多,不妨直接针对光猫型号查询方法。 对于H2-2,

  1. 访问 http://192.168.1.1/bridge_route.gch,单击“桥接复原”。
  2. 等待重启
  3. 路由器设置“拨号上网”,填入账号与密码。 注意,桥接模式下无法管理光猫。可以直连光猫,或暂停拨号上网进行设置。

解密配置文件

解密数据库后能够更加透彻地了解光猫的设置,定制适合自身的配置。

  1. 进入Telnet,获取root权限
  2. 执行命令
   sidbg 1 DB decry /userconfig/cfg/db_user_cfg.xml
   udpsvd -vE 0 69 tftpd -c /
  1. 启用TFTP客户端,命令行执行 tftp -i 192.168.1.1 GET /tmp/debug-decry-cfg <Local-Path><Local-Path> 为本地路径,如"C:\db_user_cfg.xml"
  2. 使用记事本(或其他文本编辑器)打开 db_user_cfg.xml
    明文数据库不仅能够找到隐藏的密码(Ctrl+F 查找),也能修改如Telnet登录密码等有意思的条目,进行定制。
    Note: 别忘了sidbg 1 DB save
    Plus, 有些设置需要 reboot 重启后才能生效。

备份设置

以防万一,建议将光猫设置进行备份。

  • 一方面,可以使用“管理-恢复”备份到usb接口,
  • 也可以直接备份数据库文件 /userconfig/cfg/db_user_cfg.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment