终端录制与回放

最近有一个需求,在给一个 H3C 路由器排除问题的时候,启用 debug 模式,debug 模式下,输出到屏幕的调试信息没有办法导出到文件,只能想办法试试看能不能从终端会话录制上实现。

终端的会话操作录制

1
2
3
4
script -t 2> timing.log -a output.session
# 开始输入命令...
# ...
exit

exit 退出录制。

两个配置文件被当做 script 命令的参数。这两个文件可以随便命名,这里用 timing.log 和 output.session。其中 timing.log 用于存储时序信息,描述每一个指令在何时运行;output.session 用于存储命令信息输出。-t 选项用于将时序数据导入 stderr。2> 用于 stderr 重定向到 timing.log。

录制回放

1
scriptreplay timing.log output.session

经验证,录制还是可以的。整个屏幕输出的内容存储在输出的 output.session 文件中,以文本打开,就可以直接查看之前录制回显的内容了。也可以方便后期回放温故。

script 广播会话

以两个终端为例:

终端 1 操作

1
mkfifo scriptfifo

终端 2 操作

1
cat scriptfifo

终端 1 操作

1
2
3
4
script -f scriptfifo
# 输入命令...
# ...
exit

exit 退出。

此时,终端 2 上同步回显终端 1 上的操作内容。

屏幕录制操作结束。

补充一个 H3C 屏幕回显 debug 信息的操作步骤,全程用户模式下操作:

1
2
3
4
debugging nat packet  # 例如调试 nat 包信息
terminal debugging # 打开调试信息的屏幕输出开关
display debugging # 查看启用了哪些调试信息
terminal monitor # 开启控制台对系统信息的监视功能

汇总结束,通过录制终端会话,来排查设备的 debugging 信息。设备 debugging 是比较消耗资源的一件事情,输出的信息也非常多,输出了非专业人员排查问题也是比较困难的。一般这个也就用于提交设备厂商售后分析了。今日份结束。


终端录制与回放
https://ywmy.xyz/2019/07/28/终端录制与回放/
作者
ian
发布于
2019年7月28日
许可协议