H3C交换机升级固件及抓包
H3C交换机升级固件及抓包
查看当前版本
交换机固件就是交换机的操作系统,一般厂商会通过更新固件的方式来封堵安全漏洞、添加新功能等。固件(系统,H3C的系统叫Comware)以文件的形式存在于设备的flash中,flash可以理解为设备的硬盘,框式等多板卡设备每个板卡可能会有一个独立flash。
#查看当前设备的软件和硬件信息
dis version
#在用户视图(即< >模式)执行查看当前
dir
-
下面两张图展示了当前软件版本和flash中的内容
-
H3C交换机启动时候最少需要boot和system这两个加载文件,其他为功能性扩展,对于上面展示的设备来说
s6520x-cmw710-boot-r6652p02.bin
和s6520x-cmw710-system-r6652p02.bin
是必须的,其他例如s6520x-cmw710-packet-capture-r6652p02.bin
等是可选的特性包,提供一些特定功能。- boot 引导包--
必要
- system 系统包,提供设备绝大部分功能--
必要
- freeradius radius认证相关特性包--可选
- packet-capture 抓包功能--可选
- escan H3C鹰视功能包--可选
- UWW 融合AC特性包,是设备充当无线ac功能--可选
- 还有一些其他的比如devkit
- boot 引导包--
#查看系统加载
dis boot-loader
更新设备固件版本
首先去H3C官网查找设备对应的固件,相似型号较多注意型号匹配。
H3C S6520X-CMW710-R6628P47
H3C:品牌
S6520X:设备主型号
CMW710:Comware主版本,主要有有5、7、9等大版本
R6628:固件release版本
P47:补丁版本
下载固件
下图可以看出不同软件版本可能同时更新(补丁)
下载的时候会提示登录,可以使用这个通用账号登录:(该账号已经被官方停用),注册一个账号绑定设备sn就可以下载了。yx800/01230123
上传固件至设备
下载后是一个zip压缩包,本例交换机内容如上图,一般来说会有一个最大ipe包,这是一个捆绑包,包含boot和system,可能还会包含一些特性包;
其他的bin是特性包,w开头的ipe包是作为无线控制器使用时可以下发给ap的固件包。
把解压出来的ipe包(交换机用的,一般来说是最大的那个),上传到交换机的flash,我个人推荐使用ftp上传,如下命令开启ftp:
#网络ip地址等配置略过
local-user admin
password simple XXXXXXXX
service-type ftp
#service-type ssh terminal
authorization-attribute user-role level-15
ftp server enable
#安全考虑,上传后关闭ftp功能
undo ftp server enable
local-user admin
undo service-type ftp
清理flash空间
如果空间不够可能会导致上传失败 这时候需要删除一下没用的文件,下面命令是把文件移入回收站,并非真正删除,flash空间也不会释放。
#移入回收站
delete flash:/s6520x-cmw710-packet-capture-r6652p02.bin
使用delete
命令删除的文件可以使用下命令来恢复:
#撤销删除
undelete flash:/?
永久删除文件,会释放flash空间,删除前请仔细核对避免删除重要文件致使交换机无法启动
#永久删除
delete /unreserved flash:/s6520x-cmw710-packet-capture-r6652p02.bin
安装固件
其他特性包依照需要上传,否则仅上传ipe就可以,使用如下命令并根据提示安装:
#用户模式操作< >
boot-loader file flash:/S6520X-CMW710-R6628P47.ipe all main
如果不使用ipe文件安装,也可以手动指定具体boot和system包,其他特性包根据需要;注意,这里的安装或者更新是修改了设备启动时的加载项,当前运行的系统版本并不会更新
,需要重启交换机加载新的固件。
#不使用ipe包,分别指定boot、system和feature包
boot-loader file boot flash:/s6520x-cmw710-boot-r6652p02.bin system flash:/s6520x-cmw710-system-r6652p02.bin feature flash:/s
6520x-cmw710-packet-capture-r6652p02.bin all main
#查看当前和启动时加载项
dis boot-loader
重启交换机生效
#用户模式下 < >
reboot
某些多主控设备(如框式设备)支持不重启平滑升级,即ISSU,这里只给个
链接不详细说明。
在线安装特性包(feature)
特性包是可以在线安装的,无需重启就可以使用,以抓包功能为例,先上传相应版本的packet-capture bin文件,使用下面命令安装:
#用户模式
install activate feature flash:/s6520x-cmw710-packet-capture-r6652p02.bin slot 1
install commit
无需重启设备,但加载完feature之后需要重新登陆,命令才能生效。
H3C交换机抓包功能示例
抓包功能和常见的抓包软件功能类似,支持过滤器等,更重要的是在网络设备上直接在线抓包免去了使用电脑通过镜像口抓包的麻烦,缺点的话主要是查看起来不美观也受交换机flash空间限制抓包时间不能过长(也可以不保存成文件,通过terminal输出)。
H3C S6520X抓包命令主要有两个,一个开启抓包,一个是查看抓包,其他型号交换机可能支持的不一样,比如H3C S6800系列还支持远程抓包等。
#在接口开启抓包
packet-capture interface
#显示抓包文件内容
packet-capture read
引流
开启抓包基于端口,且仅支持对接口入方向报文进行捕获;有一点注意的是packet-capture
仅能捕获经过cpu的流量,这也就意味着默认情况下硬件转发(常规三层或二层)的流量不会被捕获到,默认情况下仅能捕获目的地址为本机的流量;如果想捕获其他流量需要使用QoS功能将流量镜像给CPU才可以;
下图目的1.1.1.1为本地,4.4.4.4为转发,如图可见仅能捕获目的为本地流量。
未能捕获转发流量
使用下命令引流
#定义引流流量,此处仅为引流给CPU的过滤器,和packet-capture命令的过滤器不相干。
#此处为了演示镜像了全部流量,业务场景下慎重操作。
acl advanced name capture
rule 10 permit ip
traffic classifier capture
if-match acl name capture
#镜像至CPU,才能被捕获
traffic behavior cap_mirror2_cpu
mirror-to cpu
#
qos policy capture_all
classifier capture behavior cap_mirror2_cpu
#在接口处引用
interface Ten-GigabitEthernet1/0/5
qos apply policy capture_all inbound
开启抓包
命令相对简单:
- autostop 自动停止
- brief 简要,terminal输出建议使用
- verbose 展示报文结构,terminal输出不建议使用
- raw 16进制展示,terminal输出不建议使用
- limit-frame-size 报文大小限制
- limit-captured-frames 捕获数量限制
- capture-filter 捕获过滤器
- display-filter 显示过滤器
- capture-ring-buffer 分段存储大小限制
- write 写入文件
其中过滤器语法有点复杂这里给个链接,本文不深入说明。
terminal展示抓包
#全流量,限制50个
packet-capture interface ten 1/0/5 limit-captured-frames 50 brief
抓包至文件
packet-capture interface ten 1/0/5 limit-captured-frames 50 write cap1.cap
terminal查看抓包文件
packet-capture flash:/cap1.cap
下载后使用wireshark查看
功能限制(S6520X-EI当前版本固件)
- 仅能基于端口,入方向
- 仅支持一个抓包实例,无法同时多个接口抓包,复杂场景抓包排查无法胜任