0x00 前言
最近觉得家里的网速有点慢,上着网课或者看着视频,WiFi 连接的设备同时在用的话就开始卡了 emmm就很难受。🙁
然后又听说三大运营商的宽带差不多都分配 IPv6 了,手机的话联通流量分配 IPv6 地址也有一段时间了,开热点还能下发 IPv6 到其他设备(然鹅我这里的移动好像还没有)。
于是就想折腾一下家里的光猫/路由器,反正就是瞎折腾吧。
这个光猫是有点年纪的 HG260GS-U,烽火家的。 硬件版本 BCM.V2.0 ,软件版本 G00Y1.00M0001 。
大概的内容就是——
获取了超级管理员密码,开启了 Telnet 管理,启用了 IPv6,并尝试了宽带桥接的改造等等。
0x01 获取超级管理员密码
通过光猫的管理地址连接到管理页面,一般是 192.168.1.1
。登录界面如下。
光猫背面有一个 user 用户的信息,登录之后的界面功能贼少,只能看一下连接状态,设置一下WIFI、静态路由之类的基础配置,连宽带连接都设置不了。
于是想到通过超级管理员进行登录。
在网上搜了各种通用密码,比如用户名、密码分别为
CUAdmin CUAdmin
telecomadmin nE7jA%5m
CMCCadmin aDm8H%MdA
fiberhomehg2x0 hg2x0 (工程账号)
有可能登录是这个网址:http://192.168.1.1/cu.html
然而都没有用!
哦对了,这个工程账号(据说是隐藏用户)这样开启:
访问 http://192.168.1.1/logoffaccount.html ,将隐藏用户设置为启用,而后点击保存/应用即可。
(然而我这里没用
于是看了看网上大佬们的骚操作,发现可以通过备份设置的办法获取到超级管理员账号及密码。
Step 1 以普通用户身份登录光猫
就是光猫背后的那个用户名密码啦。
Step 2 下载设置备份文件
访问 http://192.168.1.1/backupsettings.conf ,下载配置文件backupsettings.conf
。
注意一定要在登陆后才下载,否则下载得到的文件并没有配置信息,而是一个让你登录界面的 HTML 文件。
正确的文件是一个xml文本,例如下面这样的。
可以发现里面保存了所有的配置信息,WAN连接、LAN连接、WiFi及WPS、宽带信息、Loid等等都有,当然,超级用户信息也在。
而且这个文件没有(明显的)加密,最多只是用了个base64
。
超级管理员用户就在DeviceInfo
下的X_CMCC_TeleComAccount
里。
用户名为admin
,密码通过base64
解码可以得到为Cmcc10086#
。
(By the way,user用户的密码在这里啦↓
Step3 登录试试
成功登录,界面比user功能多得多了,可以配置宽带信息、VLAN、USB存储远程下载等等了。
0x02 开启 Telnet 管理
按理说是可以利用工程账号进去开启 Telnet 的,然而我也不知道为啥进不去emmm
找个网上的图↓
那就**直接改配置文件好吧 **233333
Step 1 修改配置文件
首先备份一份上面下载的配置文件(改错了还可以恢复嘛),而后搜索telnet
,把它设为TRUE
。
注意大小写呀!
当然如果想要开启 FTP 的话可以顺便开启一下hhh。
Step 2 上传配置文件
访问更新路由器配置的页面 http://192.168.1.1/updatesettings.html
(可能需要登录)
选择修改后的配置文件,点击 更新配置。
Step 3 重启光猫
(如果没有自动重启的话
可以选择在 管理-设备管理-设备重启 里重启,当然也可以直接关掉电源再打开233。怎么喜欢怎么来。
Step4 telnet 连接光猫
而后就可以通过 telnet 连接到你的光猫了。
用户名和密码都是admin
。
它用的是 BCM96838 这个芯片。(感兴趣可以搜一搜
发现它并没有 cd 这个command。
> help
?
help
logout
exit
quit
reboot
brctl
cat
virtualserver
ddns
df
loglevel
logdest
dumpcfg
dumpmdm
dumpeid
mdm
meminfo
psp
kill
dumpsysinfo
dnsproxy
syslog
echo
ifconfig
ping
ps
pwd
sntp
sysinfo
tftp
wlctl
showOmciStats
laser
omci
omcipm
dumpOmciVoice
dumpOmciEnet
dumpOmciGem
laser
arp
defaultgateway
dhcpserver
dns
lan
lanhosts
passwd
ppp
restoredefault
route
save
swversion
uptime
cfgupdate
swupdate
exitOnIdle
wan
set
get
gendefsettings
loaddefsettings
checkdefsettings
composenewsettings
create_merge_presetting
transform_presetting
upgrade
ledctl
usbtest
ls
facmode
simcard
voipteststart
voiptestend
voice_test
phone_connect
recordpcmstart
recordpcmend
StartCall
StopCall
StartRing
StopRing
PlayCNGTone
StopCNGTone
PlayDTMFTone
fhvoice
redirect
mcpctl
itms
wifi
card
不过好像功能也不少的亚子。
看了一下存储。
内存。
然后发现有一个隐藏的sh
指令,可以支持大部分的 Linux 指令啦~
看了一下系统信息。
# uname -a
Linux (none) 3.4.11-rt19 #3 SMP PREEMPT Mon Jul 4 19:17:02 CST 2016 mips GNU/Linux
webs 目录下为所有的前端网页的文件。
FHFactoryCheck.html ipsec.html
FH_Simple_CloseHideWeb.html ipsecview.html
FH_Simple_FactoryRestore.html ipv6lancfg.html
FH_Simple_OpenHideWeb.html itms_right.html
StaticIpAdd.html itms_wrong.html
StaticIpErr.html itmsuploadfinish.html
areacode.js itmsuploadfinish_guangdong.html
backupsettings.html itmsuploadingimage.html
buildinfo.html itmsuploadingimage_guangdong.html
certadd.html itmsuploadreboot.html
certcaimport.html jquery.js
certcaview.html lanvlancfg.html
certimport.html lockerror.html
certloadsigned.html logconfig.html
certlocalview.html login.html
certreqshow.html loginerror.html
certshow.html logintro.html
cfgepon.html logo.html
cfgeth.html logoffaccount.html
cfggpon.html logout.html
codepassword.html logview.html
colors.css macstudy.html
ctExternalApInfo_user.html main.html
ctExternalApInfooffline.html mainCT.html
ctStaticIpAdd.html menuCT.js
ctTracerouteresult.html menuTitle.js
ctalgcfg.html menuTree.js
ctdhcpcfg.html multicast.html
ctdhcpdevice.html password.html
ctdiag.html pic
ctdiag_ping.html platconfig.html
ctdiag_tracert.html portName.js
ctdiagmng.html portalmngr.html
ctdiagsystem.html portmap.html
ctdiagxPon.html portmapadd.html
ctdms.html portmapedit.html
ctdnsconfig.html pradd.html
cteponinterfaceinfo.html prmngr.html
ctexternalApInfo.html pswdadmin.html
ctgponinterfaceinfo.html pswduser.html
ctigmpproxy.html qoscls.html
ctigmpsnooping.html qosclsedit.html
ctinfo.html qosclsview.html
ctinfo_fujian.html qosqmgmt.html
ctipflt.html qosqueue.html
ctipfltblack.html qosqueueadd.html
ctipfltwhite.html qosview.html
ctlanbind.html rebootinfo.html
ctlogconfig.html redirect.html
ctlogflashview.html redirect_cardoffline.html
ctlogintro.html redirect_portal.html
ctlogview.html redirect_portal_confirm.html
ctloid.html redirect_uploadimage.html
ctmacflt.html register.html
ctmacpolicy.html register_anhui.html
ctmldproxy.html register_fail.html
ctmldsnooping.html register_fujian.html
ctmulticastvlan.html register_guangdong.html
ctpingresult.html register_guangdong_fail.html
ctpswdrelogin.html register_hainan.html
ctroute6add.html register_ing.html
ctstatslan.html register_ing_anhui.html
ctstatslan_user.html register_ing_card.html
ctusererror.html register_ing_fujian.html
ctuserpswd.html register_ing_guangdong.html
ctwan_ethinfo.html register_ing_guangdong_1.html
ctwanconfig.html register_ing_guangdong_refresh.html
ctwanconfig_user.html register_ing_hainan.html
ctwaninfo.html register_ing_iframe.html
ctwaninfo6.html register_ing_iframe_refresh.html
ctwaninfo6_user.html register_ing_iframe_refresh_1.html
ctwaninfo_user.html register_ing_sichuan.html
ctwaninfoall.html register_limit.html
ctwaninfoallv6.html register_loid.html
ctwlanInfo.html register_restore.html
ctwlanInfo_user.html register_restore_remote.html
ctwlcfg.html register_restore_retry.html
ctwlsecurity.html register_restore_retry_sichuan.html
ddnsadd.html register_restore_sichuan.html
defaultsettings.html register_restoreinfo.html
dhcpinfo.html register_sichuan.html
diaginform.html registered_chongqing.html
dnscfg.html registered_fujian.html
dnsproxycfg.html registered_guangdong.html
dosprotect.html registered_hunan.html
downloadFile.html resetrouter.html
enableipv6.html restoreinfo.html
engdebug.html restoresettings.html
eponadderr.html restrain.html
epondelerr.html ripcfg.html
ethadderr.html routeadd.html
ethdelerr.html routetbl.html
exporting.js rtdefaultcfg.html
externalapcfg.html rtdefaultcfgerr.html
externalapcfgoffline.html rtroutecfg.html
externalapsecurity.html scdmz.html
externalapsecurityoffline.html scinflt.html
factorymode.html scinfltview.html
fbctwanconfig.html scmacflt.html
fhvoiceh248dsp.html scmacfltview.html
fhvoiceh248mgc.html scmacpolicy.html
fhvoiceh248ngn.html scoutflt.html
fhvoiceh248port.html scoutfltview.html
fhvoiceprotocol.html scvrtsrv.html
fhvoicesettings.html servmngr.html
fhvoicesipadvance.html simcardoffline.html
fhvoicesipbasic.html sipregstatus.html
fhvoicesipdigitmap.html sipteleview.html
fhvoicesipfax.html sntpcfg.html
fhvoicesipuserline.html speed.html
firewall.html statsifc.html
footer.html statsifcreset.html
ftpcfg.html statswan.html
gponadderr.html statswanreset.html
gpondelerr.html storageusraccadd.html
help_manage_device.html stylemain.css
help_manage_file.html stylesCT.css
help_manage_keep.html surprise.html
help_manage_user.html todadd.html
help_net_QOS.html todmngrview.html
help_net_WLAN.html tr69cfg.html
help_net_dhcp.html tr69cfgview.html
help_net_externalap.html tr69connect.html
help_net_network.html traffictl.html
help_net_remote.html traffictladd.html
help_net_route.html updatesettings.html
help_net_time.html upload.html
help_net_voice.html upload_chongqing.html
help_net_voip.html uploadinfo.html
help_safe_firewall.html upnpcfg.html
help_safe_mac.html url_add.html
help_safe_port.html urlfilter.html
help_safe_wan.html urlfilterErr.html
help_status_device.html usbbackup.html
help_status_net.html usbbackuphandle.html
help_status_remote.html usbbackupresult.html
help_status_user.html usbinfo.html
help_status_voip.html usbxdown.html
help_use_IGMP.html util.js
help_use_MLD.html wlcfg.html
help_use_UPNP.html wlcfg_jiangsu.html
help_use_VOIP.html wlcfg_zhejiang.html
help_use_device.html wlcfg_zhejiang_user.html
help_use_dns.html wlcfgadv.html
help_use_nat.html wlrefresh.html
help_use_usual.html wlsecurity.html
highcharts.js wlsecurity_jiangsu.html
hlpethconn.html wlsecurity_zhejiang.html
hlpwlconn.html wlsecurity_zhejiang_user.html
index.html wlshared.html
ipsconfig.html wlwapias.html
然后还可以发现之前的配置文件在 /fhconf/backpresettings.conf
。
日志文件在/fhlog/messages
。
/rom/etc/wlan
目录下好像有一些网卡芯片的驱动(?
然后在某个目录下找到了各种默认配置文件emmm
其他的后面再慢慢玩吧(
还有提醒一下,telnet 不用的话最好还是关掉吧,防止别人连上光猫改了你的配置就不好了呢。
0x03 再看光猫参数 & 测速
光猫参数
上网搜了一下这个光猫的参数。(可能有所区别)
烽火HG260GS-U
产品特点
- 支持GPON接口,4FE+2POTS,LAN1口=1G LAN 2.3.4口=100M
- 支持路由/桥混合转发。
- 支持VLAN连接。
- 提供2.4GHz 802.11b/g/n无线接入功能,最高速率可达270Mbps,覆盖范围30m~100m。
- 支持SIP/MGCP/H.248等VOIP协议语音,支持多种语音编码器。
- 强大的QoS能力,保障多业务环境下的VoIP、IPTV等关键业务的服务质量。
- 支持TR-069远程管理:设备配置、版本升级、诊断等。
- 支持WPS。
- 支持Web方式,用户本地管理功能。
- 支持多SSID,提供多个虚拟无线网络。
- 支持VPN穿越 ,基于IPSec/L2TP。
- 支持IPv4/v6,TCP/UDP协议,支持IPv6开启DS-lite和双栈功能。
- 芯片集成度高,功耗小,性能稳定。
哇呜,它是支持千兆的啊!
不过只有1口支持1Gbps,其他都是100Mbps的emmm
于是直接用网线连接光猫测了一下,果然是这样。
之前都没注意这个问题唉!是不是因为这个问题影响了网速啊啊啊啊嘤嘤嘤。(其实我也不知道我家宽带有多少带宽)
来测个速看看好了。
测速
这是 连接 WiFi 的测速结果↓。
通过网线直连到除1口外的任意一个 LAN 口,再次测速。
差不多跑满100Mbps的带宽了。
那再来看看 LAN1 的千兆口吧。
???
你在逗我嘛?!哇呜原来有差不多150Mbps的啊!
原来受限于 LAN 口的带宽啊!
气死我了,连接WiFi的话只有差不多1/3的速度啊,草(一种植物)。
然后把之前连在光猫后的无线路由器接到了 LAN1 口,再登上路由器一看,原来它也只支持百兆带宽emmm
不过怎么说好呢,毕竟这光猫和路由器都有些年纪了,那时候千兆还没普及呢,可能用的才是10M/50M最多也不超过100M的宽带呢。
所以光猫有一个千兆口也很不错了呢233333.(摊手.gif
网线的讲究
噢对了,还有一个好玩的事。。。
要用上千兆以太网,不仅需要光猫、路由器支持,还要你自己的设备支持,如果有线连接的话网线还至少要超五类线。
但是还要注意距离限制,超过一定的距离(如100m)也不行了,类别越高传输的频率越高则允许的距离就越小。(啊大佬你用光纤?打扰了。
我用网线连接的时候,最开始用的是一根比较老的 CAT-5e(超五类)线,可能是端口接触不大好或者线路老化的原因吧,实际网卡只协商到了100Mbps。换了一根新的网线(好像也是CAT-5e)就有1Gbps了。
然而,这根网线不够长,我用连接器把两根都能通千兆的网线连一起再连到电脑,这时网口又协商到100Mbps了emmm
看来这个网线抗干扰能力不大行呀,千兆网的有线传输要求还是挺严格的。
不过现在用的基本就六类线以上了吧,买网线还有装修布线什么的时候要注意一下这个问题。
还有买网线不要买扁的那种,剖面圆形那种就好。(感觉算是传输线理论?
0x04 启用 IPv6
前面看光猫的参数,发现支持 IPv6 唉!
听说三大运营商的宽带基本部署 IPv6 了,不过估计设置里没开启,本地也没有分配公网地址,这次就来折腾一下吧。
先说一下,我自己对IPv6这一块都不大了解,这也是第一次尝试设置这个。
包括前缀分配什么的我都不清楚,所以这里的说法有可能存在错误,大佬们看到的话欢迎和我交流呀!
Step 1 以超级管理员身份登录光猫
用上面获取的用户名密码登录。
在设置前,查看状态-网络侧信息-IPv6 连接信息,应该是空的。而 IPv4 连接信息里有一个连接的描述里是带有INTERNET
的。
(假装这里有截图)
Step 2 获取当前设置的参数
首先在连接名称里选择带有INTERNET
的选项,然后把这一页截个图或者拍照备份一下。(重要)
最好也备份一下设置文件(同 0x01)!
这里面的VLAN ID、MTU是后面的依据。
Step 3 新建宽带连接
这里前提是知道宽带的密码,如果不知道的话,可以在 0x01 中获取到的备份文件里找到嘿嘿嘿(仅做了base64加密)。
新建一个WAN连接,模式选择Route
(路由),协议模式选择IPv4 & IPv6
(这就是目的所在喵!)。
选PPPoE
,MTU里填上一步骤的参数;勾选启用Vlan,Vlan ID填上一步参数。
IPv6地址分配机制的话,我这里自动获取和DHCPv6都行,不过建议选自动获取吧。。。(不大清楚
获取前缀勾上吧,好像可以靠这个下发IPv6.(?
服务模式选择INTERNET
。
绑定端口就是你想要通过这个WAN进行连接网络的端口,如果不清楚的话全勾上就行了。如果有IPTV的话注意不要勾对应的端口。当然有其他需求的自己再考虑。它这里注明了的。
注: WAN连接之间不能共享绑定端口,最后绑定端口的WAN连接绑定操作将冲掉之前其它WAN连接对该端口的绑定操作!
大概的界面类似于这样的。不同设备大同小异的啦。
而后点击保存/应用。
Step 4 IPv6 DHCP 配置
(这一块其实我也不大清楚emmm
大概是这样吧
貌似DHCPv6是私网,Radvd是利用获取的前缀下发公网的地址。
网上大概这么说的↓。
在IPV6的自动配置中,分为两种技术
一种是传统的有状态(stateful),典型代表就是与IPv4时代相对应的DHCPv6,
一种是IPv6的无状态(stateless)自动配置,典型代表是Radvd。这是IPv6协议的一个突出特点:支持网络节点的地址自动配置。在无状态地址自动配置方式下,网络接口接收路由器宣告的全局地址前缀,再结合接口ID得到一个可聚集全局单播地址。在有状态地址自动配置的方式下,主要采用动态主机配置协议(DHCP),需要配备专门的DHCP服务器,网络接口通过客户机/服务器模式从DHCP服务器处得到地址配置信息。
具体来说,以RADVD为代表的无状态自动配置不需要消耗很多机器资源,也不像传统DHCP一样需要维护一个本地数据库来维护地址分配状态,他只是进行广播前缀地址,客户端收到这种广播后再自己使用EUI64算法生成全球唯一的IPv6地址,进行自我配置。
还有
<1>radvd用于无状态自动配置地址,客户端通过网络接口接收路由器宣告的全局地址前缀,再结合接口ID形成全球单播地址,但是这种配置不能获取DNS。
<2>dhcpv6用于有状态自动配置地址,类似于ipv4的dhcp,客户端从服务器的地址池中配置地址,可获取到DNS。
(然后应该还要配置一下 IPv6 DNS Proxy,这个我也不大清楚emmm
Step 5 确认连接状态
返回到状态-网络侧信息,分别看看IPv4和v6的连接信息。留意协议中带有IPv4&IPv6的状态。
刚开始可能连不上,过一段时间就连上了。
如果还连不上的话,将之前带有 INTERNET
的那个WAN连接给禁用或删除就好了。
(不过如果有个TR069那个运营商配置下发的就自己看着办了,删了可以不受运营商进行配置下发和上报,有影响的话新建一个或者修改上一步的服务模式就好了。
到这里我惊喜地发现,貌似账号支持多播唉!不过这个光猫里自然不支持多播叠加的了。可以使用桥接宽带让后面的路由器做处理啦。(后面再说)
于是尝试了一下成功连了两个,其中绑定端口设置成不一样的。不过不知道最多可以几播hhh。
连接光猫是可以下发 IPv6 公网地址的。
然后发现那个外接的无线路由器也不支持 IPv6,气死了(后面换一个
不过也有解决方案的,就是把网线连接到无线路由器的LAN口而不是WAN口,关闭它的 DHCP 功能,由光猫直接分配 IP 地址就行了。
然而有个大问题,就是我的 IPv6 没有Internet访问权限。手动配置了DNS也不行。
ping -6 ipv6.baidu.com
通不了。
tracert 240c::6666
发现到我的光猫就出不去了。
试了一下在光猫上的诊断里用IPv6进行ping也没有连接。
不知道哪里设置有问题了,很懵(摊手。
求大佬们指点一下。
0x05 宽带桥接改造
前面说支持多播嘛,然后就想到利用光猫桥接宽带,然后再利用后面的路由器(软路由/硬路由)进行拨号。
或者是这种情况,网络流量较大,路由较复杂等光猫难以承受或者不够稳定,也可以试试桥接的方案。
方法类似于 0x04。
大概就像图里这样吧。
勾选启用Vlan,VLAN ID
也和之前配置INTERNET
的一样。
绑定端口建议选端口1,毕竟是千兆口嘛!
之后就可以直接通过 LAN1 连接路由器或者电脑进行拨号了。
拨号后也会分配公网的 IPv6 地址。(然而我这里的 IPv6 还是没有Internet访问权限,估计是运营商的问题吧
(假装这里有截图)
当然,要实现桥接改造,你还可以尝试直接修改配置文件的方案(超硬核),具体请参考这里。
0x06 其他玩意
有次在访问一个光猫的页面时输错了网址,正好发现了光猫用的 HTTP Server 是 micro_httpd。
发现指向的网站还能访问。这是个轻量级的服务器了,正好也适合在这种小设备上跑了。
这个光猫还支持远程下载,可以通过 USB 连接外部设备,开启 FTP 服务器进行访问。
不过感觉这个 USB 应该也是2.0的,勉强用用还可以吧,也没尝试过233.
0x07 小结
折腾了好久这个有点古老的光猫 emmm嘤嘤嘤
于是乎本文介绍的内容包括:
通过配置备份文件获取超级管理员密码,开启 Telnet 管理,启用 IPv6,宽带桥接的改造等等。
是时候换个路由器了,只有大概1/3的网速太亏了!
怎么说好呢,感觉其实并没有干什么正事的亚子。。。
等我学完通信网络(计算机网络)说不定会有更深入的理解吧233333.
欢迎大佬们来交流交流呢!
还有,以上内容仅供学习研究,请在合理合法范围内使用,禁止商用。
转载记得注明出处呀!
溜了溜了(
Reference
北京联通光宽带及IPTV折腾笔记(二)–北京联通HG260GS-U WO-37开启超级管理员的方法
烽火HG220G-U 2.03+ / HG2201U 5.0+光猫改桥接教程
etc.
(大部分都好古老了