转自:http://www.gtdlife.de/securecrt%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7.html说明:如果您在阅读中产生疑问,请与文档维护人联系。如果您发现有更好的新的功能,请直接在修订上增加,并把修订后的文档发给我一份。
本文档适用对象为需要使用secureCRT做网络调试的工程师,其必须有用过该款软件,基础功能会使用。对于那些需要修改大量设备的配置时像远程升级等等,更应该学习本文档。
1 SecureCRT性能优化 1.1 外观优化 1.1.1 外观优化说明安装后默认背景界面是白底黑字,字体较小,长期使用对眼睛有所伤害,故可以自定义其外观,以保护眼睛。
1.1.2 外观优化步骤1. 鼠标左击菜单选项Options 选择 Global Options;
2. 在General Default Session 下单击Edit Default Settings;
3. 选择Terminal 下面的 Appearance 选项;
4. 在该选项中的 Current color scheme 选择自己喜欢的背景,也可以新建自己喜欢的背景。
1.2 性能优化 1.2.1 性能优化说明安装后默认ScrollBack值为500。当我们对网络进行完调试操作后,忽然发现没有做monitor session ,或者sh run 出来将近一万行命令,屏幕往回翻,则前面的信息必然查看不到,这时我们可以修改ScrollBack值。
1.2.2 性能优化步骤1. 鼠标左击菜单选项Options 选择 Global Options;
2. 在General Default Session 下单击Edit Default Settings;
3. 选择Terminal 下面的 Emulation 选项;
4. 在该选项中的ScrollBack Buffer值后修改为10000(最大为32000)。
1.3 快捷键优化 1.3.1 快捷键优化说明安装后默认是不能用ctrl+c 和ctrl+v的快捷键等Windows 快捷键,但我们习惯用这些快捷键,那么可以修改其快捷键。(交换机的密码恢复要用ctrl+c时要记得改过来)
1.3.2 快捷键优化步骤1. 鼠标左击菜单选项Options 选择 Global Options;
2. 在General Default Session 下单击Edit Default Settings;
3. 选择Terminal里面的 Emulation 下面的Mapped Keys;
4. 点中CUA选项: Use windows copy and paste key。
2 自动日志功能 2.1 自动日志 2.1.1 自动日志说明开启自动日志功能后,就不要每次使用的时候手动保存日志,对于那些需要记录调试过程的工程师来说省了不少事,也相应的提高的工作效率。当然对于那些做实验的人来说记录实验过程尤其重要,因此使用此功能可以让您轻松不少。
2.1.2 自动日志步骤1. 鼠标左击菜单选项Options 选择 Global Options;
2. 在General Default Session 下单击Edit Default Settings;
3. 选择Terminal里面的 Log file;
4. 通过下图大家可以很清楚看到其配置方法,具体参数可根据参数自定义。
注:参数的含义是:%S会话名称 %Y年 %M月 %D日 %h小时 %m分钟 %s秒 %H主机名称。
2.2 自动日志相关 2.2.1 自动日志敝端说明自动日志一个重要作用是记录某个时刻操作了什么,因此要在每一行中加上年、月、日、时、分、秒;所以日志记录会带有时间戳如下:
[03-30-15:10:05]6506-A#show run
[03-30-15:10:05]System software version : 2.42(4) Build Jun 26 2006 Rel
但带时间戳的show run 就不能复制粘贴到secureCRT中去运行。每行都带有时间戳的话,行数太多不可能一行一行去删除,可以用下面的方法去做。
使用UltraEdit文本编辑工具,在菜单属性中有选择“列”中的“列模式”,选择第一行的时间戳,选择“列”中“删除列”,则所的有时间戳都被删除。
3 secureCRT自动化 3.1 键盘映射 3.1.1 键盘映射说明此功能对那些需要维护设备较多的人非常有用,我们可以用一个键去映射多个字符,这样,我们可以映射成登录用户的用户名和密码,从而减轻工作量,提高效率。例如:真实环境中用户名为frank,密码为cisco那么,现用 “:”号键,send string: frank,再设一快捷键,““”键send string 密码为cisco,下次登陆设备就不需要因为频繁的输入设备而麻烦,用这两个快捷键就行。
3.1.2 键盘映射步骤1. 鼠标左击菜单选项Options 选择 Global Options;
2. 在General Default Session 下单击Edit Default Settings;
3. 选择Terminal里面的Emulation;
4. 在Emulation中选择Mapped Keys;如下图:
3.2 脚本记录 3.2.1 脚本记录说明此功能对那些需要维护设备较多且对每台设备所做的操作命令都相同的工程师非常有用,像做大规模的IOS升级。结合键盘映射,让您只要用一个键,就可轻松完成一次重复性工作。
3.2.2 脚本记录步骤1. 鼠标左击菜单选项Script 选择 Start Recoding Script;
2. 调试结束后左击菜单选项Script 选择 Stop Recoding Script,并保存脚本;
3.2.3 脚本记录应用实例使用环境:现要升级50台设备的IOS,所有的设备telnet 的用户名和密码都一样(不一样可以调整记录脚本的始发点),所有设备升级的版本都一样。
1. 第一次telnet设备后开始记录脚本,完成后保存脚本;
2. 使用键盘映射,选择一个键然后映射到该脚本;
3. 每telnet一台设备后使用该快捷键,则可完成该次升级。
3.3 脚本编写 3.3.1 脚本使用说明以上两种方法并不完全是自动化,但如果掌握了脚本的使用,那么完成可以做对重复性工作的完全自动化。以下是案例,可以根据需求自己修改。
3.3.2 案例案例一:自动登录到某台3550交换机设备,自动输入远程登录密码,同时自动进入特权模式自动输入特权密码,同时运行show version命令
# $language = “VBScript”
# $language = “VBScript”
Sub Main
crt.Screen.Synchronous = True
‘通过telnet连接到192.168.1.1
crt.Session.Connect “/TELNET 192.168.1.1″
crt.Screen.WaitForString “Password:”
crt.Screen.Send “cisco” & vbCr
crt.Screen.waitForString “>”
crt.Screen.Send “enable” & vbcr
crt.Screen.WaitForString “Password:”
crt.Screen.Send “cisco” & vbcr
crt.Screen.waitForString “#”
crt.Screen.Send “show version” & vbcr
‘想要使用什么命令可以写在crt.Screen.Send ” “里面
crt.Screen.waitForString “�CMore�C”
crt.Screen.Send ” ”
crt.Screen.Synchronous = False
End Sub
案例二:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份。
# $language = “VBScript”
# $language = “VBScript”
Sub Main
‘打开保存设备管理地址以及密码的文件
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set file1 = fso.OpenTextFile(“d:\config.txt”,Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
‘读出每行
line = file1.ReadLine
‘分离每行的参数 IP地址 密码 En密码
params = Split (line)
‘Telnet到这个设备上
crt.Session.Connect “/TELNET ” & params(0)
‘输入telnet密码
crt.Screen.WaitForString “Password:”
crt.Screen.Send params(1) & vbcr
‘进特权模式
crt.Screen.Send “enable” & vbcr
crt.Screen.WaitForString “Password:”
crt.Screen.Send params(2) & vbcr
crt.Screen.waitForString “#”
‘备份目前Startup配置
str1 = “copy startup tftp://192.168.1.2/”
str1 = str1 & “backup(” & params(0) &”)” & “.cfg”
crt.Screen.Send str1 & vbcr
crt.Screen.WaitForString “]?”
crt.Screen.Send vbcr
crt.Screen.WaitForString “]?”
crt.Screen.Send vbcr
‘备份完成后退出
crt.Screen.waitForString “#”,3
crt.Session.Disconnect
loop
crt.Screen.Synchronous = False
End Sub
config.txt文本文件为事先编辑好的
格式如:
192.168.1.1 cisco cisco
192.168.1.254 cisco cisco
前面是IP地址,后面是telnet密码,最后是enable密码
Sub Main
‘打开保存设备管理地址以及密码的文件
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set file1 = fso.OpenTextFile(“d:\config.txt”,Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
‘读出每行
line = file1.ReadLine
‘分离每行的参数 IP地址 密码 En密码
params = Split (line)
‘Telnet到这个设备上
crt.Session.Connect “/TELNET ” & params(0)
‘输入telnet密码
crt.Screen.WaitForString “Password:”
crt.Screen.Send params(1) & vbcr
‘进特权模式
crt.Screen.Send “enable” & vbcr
crt.Screen.WaitForString “Password:”
crt.Screen.Send params(2) & vbcr
crt.Screen.waitForString “#”
‘备份目前Startup配置
str1 = “copy startup tftp://192.168.1.2/”
str1 = str1 & “backup(” & params(0) &”)” & “.cfg”
crt.Screen.Send str1 & vbcr
crt.Screen.WaitForString “]?”
crt.Screen.Send vbcr
crt.Screen.WaitForString “]?”
crt.Screen.Send vbcr
‘备份完成后退出
crt.Screen.waitForString “#”,3
crt.Session.Disconnect
案例三:多个窗口中输入不同的命令。
# $language = “VBScript”
# $interface = “1.0″
Sub Main()
Set objCurrentTab1 = crt.GetTab(1)
‘第一个连接的会话
objCurrentTab1.Activate
If objCurrentTab1.Session.Connected = True then
objCurrentTab1.Screen.Send “相关命令1″& VbCr
objCurrentTab1.Screen.Send “相关命令2″& VbCr
objCurrentTab1.Screen.Send “相关命令3″ & VbCr
objCurrentTab1.Screen.Send “相关命令4″& VbCr
End If
Set objCurrentTab2 = crt.GetTab(2)
‘第二个连接的会话
objCurrentTab2.Activate
If objCurrentTab2.Session.Connected = True then
objCurrentTab1.Screen.Send “相关命令1″& VbCr
objCurrentTab1.Screen.Send “相关命令2″& VbCr
objCurrentTab1.Screen.Send “相关命令3″ & VbCr
objCurrentTab1.Screen.Send “相关命令4″& VbCr
End If
第三个连接的会话
……..
End Sub