1 背景
网络设备密码恢复虽然使用的频次不高,但是却非常重要,因为它涉及网
络设备的基本知识,写这篇文档的目的首先是为了掌握密码恢复的技能,其实
最重要的是加深对网络设备软硬件的了解。
常见的应用场景有:1)长时间不登录或设置了过于复杂的密码,结果自己
也不记得了;2)二手设备被人设了密码不知道;3)不正常的工作交接;4)
其它情况。
Console 口的权限很大很大,是设备的物理权限,也是我们使用最多的用户
接口。本文着重介绍怎样恢复 Console 口的登录密码,其它登录方式的密码都
可以通过 Console 口来重置。如果有足够的权限,其它登录方式也可以恢复
Console 口密码,但是遗憾的是,当我们不知道 Console 口密码的时候,往往其
它登录方式的密码也不知道。
2 概述
本秘笈包含两大流派:1)昔日大哥 CISCO,余威仍存,荣光不再,但仍有
一定江湖地位;2)当今霸主华为,荣光无限,势不可挡,江湖到处都有他的
传说。学会这两大流派的功夫,其它流派基本也就可以无师自通啦。
我们的故事先从昔日大哥说起。
3 CISCO(思科)
3.1 路由器的构成
图 06-01 cisco 路由器构成,CCNA3.1
 
3.2 路由器的初始化

图 06-02 cisco 路由器的初始化,CCNA3.1

从初始化的过程可以看出,在路由器启动时,如果能跳过配置文件进入系
统,就可以绕过登录口令,然后就可以对配置文件进行操作了。
3.3 配置寄存器值
由 4 个十六进制位组成,例如:0x2102
每一个位都有重要的代表意义。
低位到高位(从右到左)逐一介绍: 3.3.1
(2)16 ==>(0010)2
Boot Field,影响 IOS 的启动。
1)当 Boot Field 的值是“2~F”中的任一个值时,路由器正常启动;
2)当此字段值为“0”时,启动进入 ROMMON 模式;
3)值为“1”时,进入 RXBOOT 模式。
例外:2500 路由器的 FLASH 在配置寄存器的值为 0x2102 时属性为只读,
如果要升级 IOS 必须把寄存器的值修改为 0x2101。
3.3.2
(0)16 ==>(0000)2
常用到第 3 个位,即整个寄存器值里的第 8 位,Bit 7。
1)Bit 7 == 0,路由器启动时加载 NVRAM 到 RAM;
2)Bit 7 == 1,路由器启动时不加载 NVRAM 到 RAM。
3.3.3
(1)16 ==>(0001)2
常用到第 0 个位,即整个寄存器值里的第 8 位,Bit 8。
1)Bit 8 == 1,路由器在任何运行模式下只要按下 CTRL + BREAK 均会立
即进入 ROMMON 模式;
2)Bit 8 == 0,路由器在正常运行模式下 CTRL + BREAK 无效。
3.3.4
(2)16 ==>(0010)2
常用到第 1 个位,即整个寄存器值里的第 13 位,Bit 13。
1)Bit 13 == 1,如果路由器通过网络引导,尝试 5 次;
2)Bit 13 == 0,如果路由器通过网络引导,尝试无穷多次;
3.4 典型配置寄存器值
3.4.1
0x2102
启动过程中,路由器会查看 NVRAM 中的配置,以确定启动次序,如果启
动失败,会采用缺省的 ROM 软件进行启动。正常情况下都使用这个配置值,
生产中都用这个值。 3.4.2
0x2142
启动过程中忽略 NVRAM 中的配置信息,进入初始配置对话模式。可用于
密码恢复!
3.5 密码恢复操作思路
1)在路由器启动时,中断启动进程,进入到 ROM 模式;
2)修改配置寄存器的值为 0x2142,不加载 NVRAM 中的初始配置,这样
就可以绕过登录密码进入系统了;
3)进入系统后,复制初始配置到当前运行配置,这样就可以操作当前配置
了,比如说查看或者修改各种登录模式的密码;
4)修改配置寄存器值为 0x2102,加载 NVRAM 中的初始配置,防止路由
器重启后没有配置信息;
5)保存当前配置为初始配置,密码恢复工作完成。
3.6 密码恢复操作
对于不同的处理器架构,恢复操作稍有不同。目前新的路由器,基本上都
是 RISC。
3.6.1
RISC 处理器(精简指令集)
1)在路由器开机 60 秒内,按下键盘上的 CTRL+BREAK 键,使路由器启动
进入 ROMMON 模式;
2)在 rommon>提示符下,键入“confreg 0x2142”,路由器在下一次启动时
不加载 NVRAM 中的启动配置,如:
rommon>confreg 0x2142
3)在 rommon>提示符下,键入 reset 命令,路由器将重新启动,如:
rommon>reset
4)路由器进入到启动配置对话过程,输入 n 并回车,跳过整个初始配置对
话过程,如:5)在 router>模式下,输入 enable,进入到特权模式,如:
router>enable
6)在 router#模式下,输入 copy startup running,将启动配置复制到运行配
置;
router#copy startup running
7)如果设置的密码是明文形式,这时通过 show running 就可以查看到,如:
router#show running
8)或者进入到线路模式,直接修改线路登录密码,如:
router(config-line)#password xxxx
9)在全局配置下,修改 enable password 或 enable secret,如:
router(config)#enable password xxxx
10)在全局配置模式下,输入 config reg 0x2102,设置路由器下次按照正常
的方式启动,如:
router(config)#config 0x2102
11)保存配置,如:
router(config)#copy running startup
3.6.2
CISC 处理器(完整指令集/富指令集)
1)在路由器开机 60 秒内,按下 BREAK 键或其他键,进入 ROMMON 监控
模式;
2)在>提示符下,输入 o 命令以记录当前配置寄存器的当前值,如:
>o
3)在>提示符下,键入 o/r 0x2142,使路由器在下一次启动时不加载初始配
置,如:
>o/r 0x2142
4)在>提示符下,键入 i,重启路由器,如:
>i
5)接下来的操作与 RISC 处理器路由器的操作一样,不做过多赘述。
3.7 注意事项
今天多数人都是使用便携机,便携机的键盘多数为 86 键,正常情况下,当
要输入 BREAK 时,需要按住 Fn+BREAK。但是这在路由器启动时按这个组合
键很多时候是不奏效的!按 Fn+BREAK 不行!伤透了心。以下是我的真实经历。
在某个以服务业闻名的城市,我公司作为某运营商的合作方,机房的一台
CISCO 路由器需要改配置。当地同事打了报告,向运营商申请了操作时间,然
后打电话让我从另外一个城市赶来,准备某天晚上实施。本来想着没啥大事,
就只申请了一个人进机房,于是,孤独的我独自一个背着便携机进入机房,开
干。
打开电脑,插上串口线,密码,不知道!
问了很多人,一概不知,只好密码恢复。可是某想的便携机没有 Break 键!
只好让正在享受服务的同事送电脑过来。又对同事的电脑装 USb 转串口驱动,
装虚拟终端程序。
重启路由器,Ctrl + Break,不行。再重启,Ctrl + Fn + Break,还不行。键
盘坏了?可是我怎么验证这个键是不是好的呢?我知道 Windows 有一个快捷键
Windows + Break 打开系统属性,试了下,没有问题呀!错过了时间?不可能
呀!再重启,还是不行。
果断给已经回去继续享受服务的同事再打电话:“你带一个 USB 接口的全
键盘过来。”同事七窍生烟:“深更半夜的,往哪儿弄键盘去?你到底行不
行?”在我的苦口婆心和威逼利诱之下,全键盘还是送过来了。问题终于解决,
走出机房,天已大亮,卖早点的小贩陆续上街,而我真正解决问题做配置的时
间才十几分钟。到早点摊喝了两份白粥,背着两台电脑和一个全键盘,回同事
住处睡觉。
4 华为
华为设备除了提供 Console 登录,还提供多种网络登录方式,不管是什么登
录方式(SSH,Telnet,FTP,Web)的密码忘记,都可以通过 Console 口登录后来重置,Console 口的登录密码忘记也可以通过其它登录方式恢复,但是需
要登录的用户有足够的操作权限。
华为设备的 Console 口密码恢复比较简单,有比较友好的操作提示。最关键
的是在开机启动初始化时要及时中断,进入到 Boot Menu(启动菜单)。通过
Boot Menu 的提示就可以轻松搞定,而且不需要修改和恢复配置寄存器值。
4.1 准备工作
1)连接设备的 Console 口;
2)在设备开机时,根据提示按下 Ctrl + B 或“Ctrl + E”,只有 3 秒时间,
注意时机;
3)输入 Boot Menu 密码,进入 Boot Menu 菜单;
4)根据 Boot Menu 菜单提示操作即可。
4.2 进入 Boot Menu
以华为 S5720-36C-EI-AC(软件版本 S5720 V200R011C10SPC600)为例进
行说明。是的,这是一台交换机,跟文章的标题不一样啊?不要在乎这些细节
啦,让我们开始吧!
一切准备就绪,加电,要时刻注意启动进程,随时准备按Ctrl + B”
Ctrl + E”,注意只有 3 时间。
BIOS LOADING ...
U-Boot 2012.10 (Sep 29 2017 - 19:40:33)
BOARDNAME: LS5D2T32C002
DDR type: DDR3
MEMC 0 DDR speed 533MHz
Press Ctrl+C to run Shmoo: skipped
Enabling DDR ECC reporting
Clear DDR: OKEnabling DDR ECC correction
DDR Tune Completed
Enabling DDR ECC reporting
Clear DDR: OK
Enabling DDR ECC correction
DRAM: 1.9 GB
NAND: (ONFI), 128 KB blocks, 2 KB pages, 16B OOB, 8bit width
NAND: chipsize 512 MB
PCIe port in RC mode
PCIe port 0 is not active
In: serial
Out: serial
Err: serial
Net: registering eth
Detected spi flash with page size 64 KB, total 4 MB
Boot from main : boot num[1]
Starting kernel ...
Get log address 0xf1e00028
Starting udev
Starting Bootlog daemon: bootlogd.
Populating dev cache
net.ipv4.ip_local_port_range = 5
Starting syslogd/klogd: done
Stopping Bootlog daemon: bootlogWind River Linux 6.0.0.34 localhost console
localhost login: root (automatic login)
Jan 8 2019, 09:35:31
BootLoad version : 020b.0a05
Backup U-Boot ............................................................. done
ifconfig: SIOCSIFHWADDR: Device or resource busy
Press Ctrl+B or Ctrl+E to enter BootLoad menu: 3 2 1
Password:
//最可能的缺省密码是 Admin@huawei.com
//其次可能是 9300
//再其次试下 superman
The default password is used now. Change the password.
BootLoad Menu
1. Boot with default mode
2. Enter serial submenu
3. Enter startup submenu
4. Enter ethernet submenu
5. Enter filesystem submenu
6. Enter password submenu
7. Clear password for console user
8. Reboot
(Press Ctrl+E to enter diag menu)
Enter your choice(1-8):
7对各项 BootLoad Menu 解释如一下。
1. Boot with default mode
缺省模式启动。我只想进来看看各项菜单。
2. Enter serial submenu
进入串口子菜单。可用于密码恢复。用来通过串口的方式上传或下载文件,
修改串口波特率等参数,减少文件上传下载时长等。将配置文件vrpcfg.zip”
下载到本地,打开归档包,修改配置文件中的密码验证相关配置,重新再打包
vrpcfg.zip”,然后再上传,上传完成,重启设备。
有关串口下上传下载文件的操作,请查阅本书第 5 章《虚拟终端》。
3. Enter startup submenu
进入启动子菜单。这一项也可用于密码恢复。其理论基础是修改 Startup,
使设备启动时不加载配置文件。
这样启动起来的设备业务配置会丢失,如果想恢复业务配置,需要把配置
文件vrpcfg.zip”下载下来,打开归档包,修改配置文件中的密码验证相关配
置,重新再打包为vrpcfg.zip”,然后再上传。上传完成,重启设备,加载修
改后的配置文件,业务恢复,密码恢复。
子菜单内容显示如下,根据提示操作即可。
Startup Configuration Submenu
1. Display startup configuration
2. Modify startup configuration
3. Return to main menu
Enter your choice(1-3): 2
Note: startup file field can not be cleared
'.'=clear field; 'Ctrl+D'=quit; Enter=use current configurationstartup type(1: Flash)
current: 1
new :
Flash startup file (can not be cleared)
current: s5720ei-v200r011c10spc600.cc
new :
saved-configuration file
current: vrpcfg.zip
new :
patch package
current: s5720ei-v200r010sph008.pat
new : 4. Enter ethernet submenu
进入以太网子菜单。这一项也可用于密码恢复。可以通过子菜单进行文件
的下载和上传,上传下载的协议可以是 TFTP 或 FTP,交换机作为客户端,可
以设置以太网接口的地址、要上传或下载的文件的名称、文件传输的用户名和
密码等。
把配置文件vrpcfg.zip”下载下来,打开归档包,修改配置文件中的密码验
证相关配置,重新再打包为vrpcfg.zip”,然后再上传。上传完成,重启设备。
子菜单内容如下:
ETHERNET SUBMENU
1. Update BootROM system
2. Download file to Flash through ethernet interface
3. Upload Configuration file through ethernet interface
4. Modify ethernet interface boot parameter
5. Return to main menu
6. Enter password submenu
进入口令子菜单,用来设置 BootLoad Menu 的密码。
7. Clear password for console user
清除 Console 口用户的口令,可用于密码恢复。恢复密码最简单的方法。
8. Reboot
重启。
4.3 Default Boot Menu Password
Boot Menu 也有一个进入密码,其缺省密码跟软件版本有关,最好能查阅官
方的技术文档。
下面列出四个最有可能的、缺省的 Boot Menu 密码,如果试完这四个仍然不
能进入,请查阅相关的技术文档,或联系厂家售后技术支持人员。
Admin@huawei.com9300
supperman
[]
4.4 恢复Boot Menu 密
Boot Menu 密码忘了怎么办?
进入系统重置即可。示例如下:
<HUAWEI> reset boot password
The password used to enter the boot menu by clicking Ctrl+B will be restored to the
default password, continue? [Y/N]y
Info: Succeeded in setting password of boot to "Admin@huawei.com".
这里隐含了一个前提,就是你还能够进入系统。
4.5 极端情况
如果各种登录方式,系统进不去,Boot Menu 密码也忘记了,这病还能治
吗?
虽然癌症的治疗已经取得了很大进展,但是并不是所有癌症都能治。
如果是框式设备,主控板是可插拔的,拔下主控板,取出 CF 卡,但是这是
工业级 CF 卡,它的接口跟我们普通的 CF 卡接口不一样,也就是说,我们还得
有一个工业级 CF 卡的读卡器。
如果是盒式设备,主控板就相当于主板,而且往往没有 CF 卡,而用的
Flash,返厂吧!有人能治。
4.6 一次意外
这是我一个兄弟的故事,也是一个悲惨的故事。话说,“常在江湖漂,哪
有不挨刀”,小心翼翼的,还是出了一次错误。这兄弟在远程配置 AAA 时执
行了这样一条命令:
[Huawei-aaa]local-user niuhai services-type ftp
而原来的 AAA 配置是这样的:
local-user niuhai password cipher %$%$4u=n(Ze~[;xdTw@kZSsKB8/&%$%$ local-user niuhai privilege level 3
local-user niuhai ftp-directory cfcard:/
local-user niuhai service-type telnet terminal ftp web http
这样一来,上面的最后一句就变成了
local-user niuhai service-type ftp
退出以后,再也登不上了,死活都登不上啊!我是说 Console 口的密码恢复
也不行啊!而且连 Boot Menu 都进不去!
煎熬的人生就这样开始了。为保证业务,无耐只好暂时放弃,但是从此以
后,生活索然了。
这是病,得治!
心病终须心药医,解铃还需系铃人。
数月之后,终于还是此兄,想出一妙招。既然只有 FTP 账号可用,就 FTP
上去,把配置文件下了,修改好后,再上传了,重启。终于又可以登进去
了。。。
问题终于解决,但是也暴露出了一个问题:
service-type 是覆盖,而不是添加,很容易导致错误。
从中得到的启发是,如果知道 FTP 登录的用户和密码,也可以对其它登录
方式的密码进行恢复,本质上都是下载配置文件,修改后再上传。但这只是一
个特例,很少有所有其它登录密码都丢了,还有一个 FTP 账号可用的情况

读书随笔(6)密码恢复相关推荐

  1. 《全球顶尖公司的领导力实践》——读书随笔

    全球顶尖公司的领导力实践 --读书随笔 1. 前言 1)顶尖公司和领导者发展的基础: a) 顶尖公司的CEO和董事会是领导和激励的源泉; b) 顶尖公司高度关注优秀人才; c) 顶尖公司设计恰当的领导 ...

  2. cisco2950交换机密码恢复

    在实际工作中可能会忘记交换机密码,导致不能对交换机进行配置的情况.cisco提供了密码恢复的方法.以下是关于交换机密码恢复说明: 如果忘记密码,这时我们如果要配置交换机就必须在启动时绕过config. ...

  3. Cisco交换机与路由器的密码恢复_路由交换

    站长原创:歪歪IT技术网   首发:迷你兔 来51cto记录一下我们net人最不喜欢记的路由器和交换机的密码恢复问题,虽然很简单的几个步骤,但是我却总是记不住,应该不是记不住,就觉得用处不大,但工作中 ...

  4. Cisco Catalyst交换机密码恢复策略

    如果交换机的login密码忘记了咋办啊?(T-T) 别急别急,只要你有PC,有类似超级终端(Hyper Terminal)这样是终端程序,连接到交换机的console口,那么密码的恢复就N简单了. 1 ...

  5. 锐捷RG-S2126G交换机密码恢复实战

    一台锐捷RG-S2126G交换机密码遗忘了,为了不耽误使用和配置,决定进行密码恢复. 一. 首先通过一台pc机连接交换机的控制口. 打开pc上的超级终端,进行如下设置57600.数据位:8.奇偶校验: ...

  6. Cisco2620路由器的密码恢复和灾难性恢复

    在使用路由器的过程中,经常会出现忘记密码的情况.同时,在*作过程中有时会因为一些不可预料的原因,使路由器内部的版本映像文件受到损坏,使路由器无法正常工作,导致路由器退回到监控状态,而使用常用的版本拷贝 ...

  7. Mysql索引,用户及授权(root密码恢复)

    目录 一.MySQL索引 1.MySQL索引的基本概念 1)优缺点 2)分类 2.创建索引 1)普通索引index 3.查看索引 4.删除索引 二.用户及授权 1.授权 2.相关查询指令 3.授权库m ...

  8. Cisco路由器密码恢复方法

    Cisco路由器保存了几种不同的配置参数,并存放在不同的内存模块中.Cisco系列路由器的内存有:ROM.闪存(Flash memory).RAM.不可变RAM和动态内存(DRAM)等5种.一般情况下 ...

  9. MySQL授权用户及密码恢复设置

    MySQL密码恢复及设置 1.停止MySQL服务程序. 2.跳过授权表启动MySQL服务程序 skip-grant-tables(添加在配置文件) 3.重设root密码(更新user表记录) 4.以正 ...

  10. 实战Cisco路由器交换机各型号密码恢复

    实战Cisco路由器交换机各型号密码恢复 2010-10-01 13:29:33 标签:思科路由器 下载地址 思科设备 配置文件 交换机 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 ...

最新文章

  1. 推荐系统(1)--splitting approaches for context-aware recommendation
  2. H3C ER5200配置***参考
  3. mysql自带的监控报告_MYSQL监控-自带工具Query Profiler的使用
  4. duilib进阶教程 -- 在MFC中使用duilib (1)
  5. 使用jmeter对ActiveMQ集群性能方案进行评估--转载
  6. RK1109 RK1126等芯片来袭,2020年瑞芯微旗下SoC一览
  7. mysql 线性表_线性表之顺序存储,基本操作
  8. 马斯克:挑战纽北赛道的Model S配有7个座椅
  9. Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)
  10. POJ-1681 Painter's Problem 高消
  11. 老鸟的Python新手教程
  12. Linux Kernel代码艺术——数组初始化
  13. ubuntu虚拟机进程被杀死_vmware虚拟机奔溃,如何抢救文件
  14. 复杂网络学习的一些常用数据集
  15. 详解嵌入式系统知识和接口技术总结
  16. 查看java堆栈信息
  17. maximo数据库配置
  18. 螺旋模型的优点与缺点
  19. excel填充遇到的坑
  20. git(一)不同情景下的git用法

热门文章

  1. win10浏览器闪退_为什么win10浏览器总是闪退_win10浏览器闪退是怎么回事
  2. ssl1653数字游戏
  3. [案例4-6]研究生薪资管理
  4. 给WordPress加个评论关闭时间提示
  5. 一起来做个CH347的项目(应用于FPGA、CPLD、MCU)
  6. 读书——别做正常的傻瓜
  7. MacBook Pro 用户系统故障修复
  8. 1196:踩方格(递推)
  9. lintcode 168. 吹气球 动态规划
  10. 采购信息记录业务知识简介