傻瓜操作SecureCRT软件实现思科、华为交换机自动备份
securecrt的使用方法

securecrt的使用方法
SecureCRT是一款常用的SSH客户端软件,它可以用于连接远程服务器,并提供了丰富的功能和配置选项。
以下是SecureCRT的使用方法:
1. 安装SecureCRT软件,并启动。
2. 点击“Quick Connect”或“Connect”按钮,输入远程服务器的IP地址或主机名,以及登录用户名和密码。
3. 配置SSH协议选项,包括加密算法、密钥认证方式、端口号等。
4. 配置会话选项,包括会话名称、保存路径、自动登录等。
5. 配置终端选项,包括字体、颜色、背景等。
6. 建立SSH连接后,可以使用SecureCRT的各种命令和工具,比如文件传输、端口转发、脚本执行等。
7. 可以通过SecureCRT的菜单或快捷键来使用各种功能,比如复制、粘贴、查找、替换等。
8. SecureCRT还支持多标签页显示,可以同时管理多个会话。
以上是SecureCRT的简单使用方法,需要根据实际情况进行具体配置和操作。
在使用过程中,还需要注意安全性和稳定性,避免信息泄露和连接断开等问题。
- 1 -。
(完整版)SecureCRT脚本编写方法

SecureCRT脚本编写方法一、SecureCRT工具常用到的几个函数阐述如下:在SecureCRT里,用得最多的应该就是crt.Screen,基本上很多操作都是基于屏幕的返回字来决定下一步该作何操作:第一:crt.Screen.WaitForString("KeyString",timewaiting)该函数是单字符串判断,KeyString是需要查找的关键字,timewaiting是一个超时阀值,例如:crt.Screen.WaitForString("people:",5)该行代码的意思就是在5秒内没有检测到people:出现,就执行下一条语句,如果改成:crt.Screen.WaitForString("people:")那就是指直到people:出现才执行下一行代码WaitForString是有返回值的,返回值是True或者False 因此,可以根据返回值进行条件判断以确定一下条代码例如:If(crt.Screen.WaitForString("currentstate:UP",1)<>False)ThenportStatus="PortUP"ElseportStatus="PortDown"EndIfmsgboxportStatus这段代码用于判断端口状态情况并记录下来.第二:crt.Screen.WaitForStrings("KeyString1","KeyString2",...,timeout)用于多个字符串的判断,timeout的作用是一样的例如:crt.Screen.WaitForStrings("cisco","huawei","H3C",5)意思就是在5秒内有检测到相应的字符时,返回相应的索引号(索引号是从1开始的)如果都没有检查到,则返回0.因此,该函数的使用可以如下:Dim SwitchKeySwitchKey=crt.Screen.WaitForStrings("cisco","huawei","H3C",5)Select case SwitchKeycase 1MsgBox"思科设备"case 2MsgBox"华为设备"case 3MsgBox"华三设备"case elseMsgBox"未知设备"End Select几个对话性的函数其实SecureCRT支持的脚本语言就是VBS,这个脚本语言与VB有较大的不同,对于界面的支持性较差不过也有几个对话性的函数1、InputBox:提示用户输入参数temp=inputbox("提示用户你输入参数的名称","对话框的名称"):需要将输入的参数赋值给某一个参数进行使用2、输出函数msgboxmsgbox“给用户输出的信息对话框”eg.求正方形面积的脚本dimr,sr=inputbox("请输入正方形的边长:","求正方形面积的程序")s=r*rmsgbox(s)巡检代码示例下面就我的工作性质,跟我同事一块制作的一个脚本程序——维护着N台路由器设备,每天需要对这些设备进行例行巡检下面是程序的所有代码,希望对各位有所帮助*************************************************************************************** ********************************************************************************************************** *******************#$language="VBScript"#$interface="1.0"'说明:'本代码可在CRT工具中实现Cosico,华为,爱立信路由器交换机数据的自动配置或作为设备巡检之用;Setscreen=crt.Screen'创建屏幕对象'定义全局变量:'Device变量为操作设备对象数组,作为存储设备名用;'CiscoAggreOfCommands变量为思科设备命令集合数组,作为存储思科设备命令用;'NE40EAggreOfCommands变量为华为NE40E设备命令集数组,作为存储华为NE设备命令用;'SE800AggreOfCommands变量为爱立信SE800设备命令集数组,作为存储爱立信SE800设备命令用;'ArrreOfRiskCommands变量为各厂家设备存在风险性操作命令的数组,作为存储过滤风险操作命令之用;'DeviceNumth变量为Device数组序号;'CommandNumth变量为各厂家命令数组的序号;'ResultOfType变量为判断设备类型标识符;'TypeOfCommand变量作为存储当前命令类型用;DimDevice,CiscoAggreOfCommands,NE40EAggreOfCommands,SE800AggreOfCommands,ArrreOfRiskComm andsDimDeviceNumth,CommandNumth,ResultOfTypeDimTypeOfCommand'爱立信设备集合'Device=Array("CE35-ERICSE800","CE36-ERICSE800","CE37-ERICSE800","CE38-ERICSE800")'华为设备集合Device=Array("CE07-HWNE40E","CE08-HWNE40E",_"CE09-HWNE40E","CE10-HWNE40E",_"CE11-HWNE40E","CE12-HWNE40E",_"CE21-HWNE40E","CE22-HWNE40E",_"CE23-HWNE40E","CE24-HWNE40E",_"CE25-HWNE40E","CE26-HWNE40E",_"CE29-HWNE40E","CE30-HWNE40E",_"CE33-HWNE40E","CE34-HWNE40E",_"CE45-HWNE40E","CE46-HWNE40E",_"CE47-HWNE40E","CE48-HWNE40E",_"CE49-HWNE40E","CE50-HWNE40E")'思科设备命令集合CiscoAggreOfCommands=Array("showcdp",_ "showconf",_"showhard",_"showinterface",_"showiproute",_"showconf")'华为NE40E设备命令集合'健康检查'告警检查'日志检查'单板运行状态检查'CPU占用率检查'内存占用率检查'接口和链路状态以及流量检查'NE40E接口状态检查'OSPF邻居状态检查'路由信息检查NE40EAggreOfCommands=Array("displayhealth",_ "displaytrapbuffer",_ "displaylogbuffer",_"displaydevice",_"displaycpu-usage",_"displaymemory-usage",_ "displayinterface",_"disospfpeer",_"displayiprouting-table")'爱立信SE800设备命令集合'单板注册信息'办卡加电自检'单板运行状态检查'检查背板运行状态'检查主控板冗余性'存储设备利用率'CPU利用率'内存利用率检查'端口运行状态检查'端口数据收发状态检查'电源使用情况检查。
SecureCRT脚本编写方法

SecureCRT脚本编写方法一、SecureCRT工具常用到的几个函数阐述如下:在SecureCRT里,用得最多的应该就是crt.Screen,基本上很多操作都是基于屏幕的返回字来决定下一步该作何操作:第一:crt.Screen.WaitForString("KeyString",timewaiting)该函数是单字符串判断,KeyString是需要查找的关键字,timewaiting是一个超时阀值,例如:crt.Screen.WaitForString("people:",5)该行代码的意思就是在5秒内没有检测到people:出现,就执行下一条语句,如果改成:crt.Screen.WaitForString("people:")那就是指直到people:出现才执行下一行代码WaitForString是有返回值的,返回值是True或者False 因此,可以根据返回值进行条件判断以确定一下条代码例如:If(crt.Screen.WaitForString("currentstate:UP",1)<>False)ThenportStatus="PortUP"ElseportStatus="PortDown"EndIfmsgboxportStatus这段代码用于判断端口状态情况并记录下来.第二:crt.Screen.WaitForStrings("KeyString1","KeyString2",...,timeout)用于多个字符串的判断,timeout的作用是一样的例如:crt.Screen.WaitForStrings("cisco","huawei","H3C",5)意思就是在5秒内有检测到相应的字符时,返回相应的索引号(索引号是从1开始的)如果都没有检查到,则返回0.因此,该函数的使用可以如下:Dim SwitchKeySwitchKey=crt.Screen.WaitForStrings("cisco","huawei","H3C",5)Select case SwitchKeycase 1MsgBox"思科设备"case 2MsgBox"华为设备"case 3MsgBox"华三设备"case elseMsgBox"未知设备"End Select几个对话性的函数其实SecureCRT支持的脚本语言就是VBS,这个脚本语言与VB有较大的不同,对于界面的支持性较差不过也有几个对话性的函数1、InputBox:提示用户输入参数temp=inputbox("提示用户你输入参数的名称","对话框的名称"):需要将输入的参数赋值给某一个参数进行使用2、输出函数msgboxmsgbox“给用户输出的信息对话框”eg.求正方形面积的脚本dimr,sr=inputbox("请输入正方形的边长:","求正方形面积的程序")s=r*rmsgbox(s)巡检代码示例下面就我的工作性质,跟我同事一块制作的一个脚本程序——维护着N台路由器设备,每天需要对这些设备进行例行巡检下面是程序的所有代码,希望对各位有所帮助*************************************************************************************** ********************************************************************************************************** *******************#$language="VBScript"#$interface="1.0"'说明:'本代码可在CRT工具中实现Cosico,华为,爱立信路由器交换机数据的自动配置或作为设备巡检之用;Setscreen=crt.Screen'创建屏幕对象'定义全局变量:'Device变量为操作设备对象数组,作为存储设备名用;'CiscoAggreOfCommands变量为思科设备命令集合数组,作为存储思科设备命令用;'NE40EAggreOfCommands变量为华为NE40E设备命令集数组,作为存储华为NE设备命令用;'SE800AggreOfCommands变量为爱立信SE800设备命令集数组,作为存储爱立信SE800设备命令用;'ArrreOfRiskCommands变量为各厂家设备存在风险性操作命令的数组,作为存储过滤风险操作命令之用;'DeviceNumth变量为Device数组序号;'CommandNumth变量为各厂家命令数组的序号;'ResultOfType变量为判断设备类型标识符;'TypeOfCommand变量作为存储当前命令类型用;DimDevice,CiscoAggreOfCommands,NE40EAggreOfCommands,SE800AggreOfCommands,ArrreOfRiskComm andsDimDeviceNumth,CommandNumth,ResultOfTypeDimTypeOfCommand'爱立信设备集合'Device=Array("CE35-ERICSE800","CE36-ERICSE800","CE37-ERICSE800","CE38-ERICSE800")'华为设备集合Device=Array("CE07-HWNE40E","CE08-HWNE40E",_"CE09-HWNE40E","CE10-HWNE40E",_"CE11-HWNE40E","CE12-HWNE40E",_"CE21-HWNE40E","CE22-HWNE40E",_"CE23-HWNE40E","CE24-HWNE40E",_"CE25-HWNE40E","CE26-HWNE40E",_"CE29-HWNE40E","CE30-HWNE40E",_"CE33-HWNE40E","CE34-HWNE40E",_"CE45-HWNE40E","CE46-HWNE40E",_"CE47-HWNE40E","CE48-HWNE40E",_"CE49-HWNE40E","CE50-HWNE40E")'思科设备命令集合CiscoAggreOfCommands=Array("showcdp",_ "showconf",_"showhard",_"showinterface",_"showiproute",_"showconf")'华为NE40E设备命令集合'健康检查'告警检查'日志检查'单板运行状态检查'CPU占用率检查'内存占用率检查'接口和链路状态以及流量检查'NE40E接口状态检查'OSPF邻居状态检查'路由信息检查NE40EAggreOfCommands=Array("displayhealth",_ "displaytrapbuffer",_ "displaylogbuffer",_"displaydevice",_"displaycpu-usage",_"displaymemory-usage",_ "displayinterface",_"disospfpeer",_"displayiprouting-table")'爱立信SE800设备命令集合'单板注册信息'办卡加电自检'单板运行状态检查'检查背板运行状态'检查主控板冗余性'存储设备利用率'CPU利用率'内存利用率检查'端口运行状态检查'端口数据收发状态检查'电源使用情况检查'检查OSPF状态SE800AggreOfCommands=Array("showchassis",_ "showdiagon-demanddetail",_"showhardware",_"showbackplane-status",_"showredundancy",_"showdisk",_"showprocess",_"showmemory",_"showportdetail",_"showportcountersdetail",_"showchassispower",_"contextChinaMobile_NGN_SG",_ "showospfneighbor",_"contextChinaMobile_NGN_Media",_ "showospfneighbor")'风险命令过滤集合ArreOfRiskCommands=Array("reb","rel")'CE汇聚网管平台登陆子函数FunctionLandIPNETscreen.Send""&chr(13)screen.WaitForString"ogin:"screen.Send"XXXXXXXXXX"&chr(13)screen.WaitForString"Password:"screen.Send"XXXXXXXXXX"&chr(13)EndFunction'各厂家设备选择登陆子函数FunctionLandDevicescreen.Send""&chr(13)screen.WaitForString"Console>>"screen.Send"open"&Device(DeviceNumth)ResultOfType=screen.WaitForStrings("Cisco","NE40E","SE800",4) IfResultOfType=1ThenTypeOfCommand=CiscoAggreOfCommands'CommandNumth=0ElseIfResultOfType=2ThenTypeOfCommand=NE40EAggreOfCommands'CommandNumth=0ElseIfResultOfType=3ThenTypeOfCommand=SE800AggreOfCommands'CommandNumth=0ElseMsgBox"ErrorTypeOfDevice"DoLoopEndIfscreen.Send""&chr(13)screen.WaitForStrings"Username:","ogin:"screen.send"XXXXXXXXXX"&chr(13)screen.WaitForString"Password:"screen.Send"XXXXXXXXXX"&chr(13)DoLoopUntil(screen.WaitForStrings("NE40E>","SE800#",5)<>False) EndFunction'退出设备子函数FunctionExitDeviceIfResultOfType=1ThenElseIfResultOfType=2Thenscreen.Send""&"quit"&chr(13)Doscreen.Send""&chr(13)LoopUntil(screen.WaitForString("Console>>",1)<>False) ElseIfResultOfType=3Thenscreen.Send""&"exit"&chr(13)Doscreen.Send""&chr(13)LoopUntil(screen.WaitForString("Console>>",1)<>False)ElseEndIfEndFunctionFunctionShowAllDowhile(screen.WaitForStrings("More","more",3)<>False)crt.Screen.Send""LoopEndFunction'风险命令过滤子函数FunctionRiskCommandsDimresultresult=screen.WaitForStrings(ArreOfRiskCommands,1)Ifresult<>FalseThen MsgBox"Thecommandyouareimportingexistsrisk!"DoLoopEndIfEndFunctionSubMaincrt.Screen.Synchronous=TrueLandIPNETForDeviceNumth=LBound(Device)ToUBound(Device)LandDeviceCommandNumth=0ForCommandNumth=LBound(TypeOfCommand)ToUBound(TypeOfCommand) screen.Send""&TypeOfCommand(CommandNumth)RiskCommandsscreen.Send""&chr(13)ShowAllIfscreen.WaitForString("More",1)<>FalseThenShowAllcrt.Sleep4000screen.Send""&chr(13)NextExitDeviceNextcrt.Screen.Synchronous=FalseEndSub二、自动化脚本编写三段模式模板从一个文件(目录为C:\Users\lilf\Desktop\ip.txt)里面自动读取设备IP地址,密码等,自动登录设备进入特权模式第一种情况:用户名+密码+特权密码方式# $language = “VBScript”# $interface = “1.0″Sub Main‘打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,paramsSet fso = CreateObject(“Scripting.FileSystemObject”)Set file1 = fso.OpenText File(“C:\Users\lilf\Desktop\ip.txt”,Forreading, False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> True‘读出每行line = file1.ReadLine‘分离每行的参数IP地址用户名密码特权密码params = Split (line)‘Telnet到这个设备上crt.Session.Connect (“/TELNET ” & params(0))‘输入telnet用户名和密码crt.Screen.WaitForString “sername:”crt.Screen.Send params(1) & vbcrcrt.Screen.WaitForString “assword:”crt.Screen.Send params(2) & vbcr‘进特权模式crt.Screen.Send “enable” & vbcr‘输入特权密码crt.Screen.WaitForString “assword:”crt.Screen.Send params(3) & vbcrcrt.Screen.waitForString “#”ip.txt里相对应的IP地址、用户名、密码、特权密码,分别如下:192.168.1.1 admin ruijie ruijie192.168.1.2 admin ruijie ruijie192.168.2.1 admin ruijie ruijie……第二种情况:密码+特权密码方式# $language = “VBScript”# $interface = “1.0″Sub Main‘打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,paramsSet fso = CreateObject(“Scripting.FileSystemObject”)Set file1 = fso.OpenTextFile(“C:\Users\lilf\Desktop\ip.txt”,Forreading, False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> True‘读出每行line = file1.ReadLine‘分离每行的参数IP地址密码特权密码params = Split (line)‘Telnet到这个设备上crt.Session.Connect (“/TELNET ” & params(0))‘输入telnet密码crt.Screen.WaitForString “assword:”crt.Screen.Send params(1) & vbcr‘进特权模式cr t.Screen.Send “enable” & vbcr‘输入特权密码crt.Screen.WaitForString “assword:”crt.Screen.Send params(2) & vbcrcrt.Screen.waitForString “#”ip.txt里相对应的IP地址、密码、特权密码,分别如下:192.168.1.1 admin ruijie192.168.1.2 admin ruijie192.168.2.1 admin ruijie……脚本发送命令:crt.Screen.Send”要发送的命令”& chr(13) //这个是回车,并且每行只发送一个命令如下,进入全局模式下,去掉OSPF进程号800crt.Screen.Send “conf t” & chr(13)crt.Screen.WaitForString “(config)#”crt.Screen.Send “no router ospf 800″& chr(13)crt.Screen.WaitForString “(config)#”crt.Screen.Send “end” & chr(13)crt.Screen.WaitForString “#”crt.Screen.Send “wr” & chr(13)J 这样去写是相当困难的,所以我们可以用先录制好需要进行相关操作的脚本,打开那个录制好的,复制那些相关的命令这样不用自己逐条手写了完成一台设备的操作之后,退出并进入下一台设备‘完成后退出crt.Screen.waitForString “#”,3 //等待3S后如果没有其它操作,则自动断开crt.Session.Disconnectloopcrt.Screen.Synchronous = FalseEnd Sub三、应用案例真实场景:客户升级,客户有145台设备需要升级,其中有rgos.bin,也有少部分的rgnos.bin首先查找当前运行的是rgos.bin还是rgnos.bin运行脚本,并记录日志到一个文本中,按2.1.2图即可脚本如下:# $language = “VBScript”# $interface = “1.0″Sub MainConst ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,paramsSet fso = CreateObject(“Scripting.FileSystemObject”)Set file1 = fso.OpenTextFile(“C:\Users\lilf\Desktop\ip.txt “,Forreading, False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> Trueline = file1.ReadLineparams = Split (line)crt.Session.Connect “/TELNET ” & params(0)crt.Screen.WaitForString “sername:”crt.Screen.Send params(1) & vbcrcrt.Screen.WaitForString “assword:”crt.Screen.Send params(2) & vbcrcrt.Screen.Send “enable” & vbcrcrt.Scree n.waitForString “#”crt.Screen.Send “show ver” & vbcrcrt.Screen.WaitForString “#”crt.Screen.Send vbcrcrt.Screen.waitForString “#”,3crt.Session.Disconnectloopcrt.Screen.Synchronous = FalseEnd SubC:\Users\lilf\Desktop\ip.txt中的内容如下10.243.124.1 XXXX XXXX10.243.124.10 XXXX XXXX完成show ver后,查看日记记录,找到当前运行的是rgnos.bin设备,并把他的IP地址从ip.txt中去掉,新建ip1.txt升级rgos.bin:# $language = “VBScript”# $interface = “1.0″Sub MainConst ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,paramsSet fso = C reateObject(“Scripting.FileSystemObject”)Set file1 = fso.OpenTextFile(“C:\Users\lilf\Desktop\ip.txt “,Forreading, False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> Trueline = file1.ReadLineparams = Split (line)crt.Session.Connect “/TELNET ” & params(0)crt.Screen.WaitForString “sername:”crt.Screen.Send params(1) & vbcrcrt.Screen.WaitForString “assword:”crt.Screen.Send params(2) & vbcrcrt.Screen.Send “enable” & vbcrcrt.Screen.waitForString “#”crt.Screen.Send “copy tftp://10.14.192.13/R2700_94674_install.bin flash:rgos.bin” & vbcr crt.Screen.WaitForString “UPGRADING OK.”crt.Screen.WaitForString “#”crt.Screen.Send vbcrcrt.Screen.waitForString “#”,3crt.Session.Disconnectloopcrt.Screen.Synchronous = FalseEnd Subrgnos.bin的升级方法也是同样的在合适的时间重启:# $language = “VBScript”# $interface = “1.0″Sub MainConst ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,paramsSet fso = CreateObject(“Scripting.FileSystemObject”)Set file1 = fso.OpenTextFile(“C:\Users\lilf\Desktop\ip.txt “,Forreading, False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> Trueline = file1.ReadLineparams = Split (line)crt.Session.Connect “/TELNET ” & params(0)crt.Screen.WaitForString “sername:”crt.Screen.Send params(1) & vbcrcrt.Screen.WaitForString “assword:”crt.Screen.Send params(2) & vbcrcrt.Screen.Send “enable” & vbcrcrt.Screen.waitForString “#”crt.Screen.Send “reload in 1″& vbcrcrt.Screen.WaitForString “#”crt.Screen.Send vbcrcrt.Screen.waitForString “#”,3crt.Session.Disconnectloopcrt.Screen.Synchronous = FalseEnd Sub重启过程中用批量ping工具监视,重启完成后查看是否都正常说明注意事项:如果运行过程中telnet到一台不可达的设备后,则脚本会中断,刚需要人工去再次运行,故运行之前先用批量ping工具测试设备连通性自动登录脚本下面是我根据上面的文档编写的没有用户名的自动登录# $language = "VBScript"# $interface = "1.0"Sub Main'打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,paramsSet fso = CreateObject("Scripting.FileSystemObject")Set file1 = fso.OpenTextFile("C:\ip.txt",Forreading, False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> True'读出每行line = file1.ReadLine'分离每行的参数IP地址密码特权密码params = Split (line)'Telnet到这个设备上crt.Session.Connect ("/TELNET " & params(0))'输入telnet用户名和密码crt.Screen.WaitForString "assword:"crt.Screen.Send "cisco" & vbcr'进特权模式crt.Screen.Send "enable" & vbcr'输入特权密码crt.Screen.WaitForString "assword:"crt.Screen.send "cisco" & vbcrcrt.Screen.waitForString "#"crt.Screen.Send "show ver" & vbcrcrt.Screen.waitForString "#"crt.Screen.Send "clear counters" & vbcr & vbcrcrt.Screen.waitForString "#" ,300crt.Session.Disconnectloopcrt.Screen.Synchronous = FalseEnd Sub四、其他示例【示例一】简单自动登录# $language = "VBScript"# $interface = "1.0"'本脚本示范:自动登录到某台3550交换机设备,自动输入远程登录密码,同时自动进入特权模式'自动输入特权密码,同时运行show version命令Sub Maincrt.Screen.Synchronous = True'通过telnet连接到192.168.1.1crt.Session.Connect "/TELNET 192.168.1.1"crt.Screen.WaitForString "Password:"crt.Screen.Send "cisco" & vbCrcrt.Screen.waitForString ">"crt.Screen.Send "enable" & vbcrcrt.Screen.WaitForString "Password:"crt.Screen.Send "cisco" & vbcrcrt.Screen.waitForString "#"crt.Screen.Send "show version" & vbcrcrt.Screen.waitForString "--More--"crt.Screen.Send " "crt.Screen.Synchronous = FalseEnd Sub【示例二】自动备份配置# $language = "VBScript"# $interface = "1.0"'本脚本示范:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份Sub Main'打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,str1,paramsSet fso = CreateObject("Scripting.FileSystemObject")Set file1 = fso.OpenTextFile("d:\config.txt",Forreading, False)crt.Screen.Synchronous = TrueDO 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" & vbcrcrt.Screen.WaitForString "Password:"crt.Screen.Send params(2) & vbcrcrt.Screen.waitForString "#"'备份目前Startup配置str1 = "copy startup t ftp://192.168.1.2/"str1 = str1 & "backup(" & params(0) &")" & ".cfg"crt.Screen.Send str1 & vbcrcrt.Screen.WaitForString "]?"crt.Screen.Send vbcrcrt.Screen.WaitForString "]?"crt.Screen.Send vbcr'备份完成后退出crt.Screen.waitForString "#",3crt.Session.Disconnectloopcrt.Screen.Synchronous = FalseEnd Subconfig.txt文本文件为事先编辑好的格式如:192.168.1.1 cisco cisco192.168.1.254 cisco cisco前面是IP地址,后面是telnet密码,最后是enable密码【示例三】多会话操作VBScript# $language = “VBScript”# $interface = “1.0″‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Sub Main()crt.screen.Synchronous = trueDim NameDim NametreDim nTabCountnTabCount = crt.GetTabCount()for index = 1 to nTabCountset tab = crt.GetTab(index)tab.activateIf tab.Session.Connected = True Then‘这里以上都没有什么可以说的,之前的文章已经介绍的很多很多了,如果有不清楚的朋友可以看本文上提供的该系列脚本的其它部分的文章链接‘从这里往下就是最最核心的部分的了:)‘获取激活会话的名称Name = tab.Caption‘开始做匹配,并根据匹配的结果输入相应命令Select Case NametreCase “你的会话的名称1″‘等待1秒钟crt.sleep 1000tab.Screen.Send “在名称1的会话中你要输入的命令1″& chr(13)‘等待1秒钟crt.sleep 1000tab.Screen.Send “在名称1的会话中你要输入的命令2″& chr(13)crt.sleep 1000……..Case “你的会话的名称2″‘等待1秒钟crt.sleep 1000tab.Screen.Send “在名称2的会话中你要输入的命令1″& chr(13)‘等待1秒钟crt.sleep 1000tab.Screen.Send “在名称2的会话中你要输入的命令2″& chr(13)crt.sleep 1000……..Case “你的会话的名称3″‘等待1秒钟crt.sleep 1000tab.Screen.Send “在名称3的会话中你要输入的命令1″& chr(13)‘等待1秒钟crt.sleep 1000tab.Screen.Send “在名称3的会话中你要输入的命令2″& chr(13)crt.sleep 1000……..‘其它情况输出”the name of this session is wrong!”Case Else MsgBox “the name of this session is wrong!”End SelectElseMsgBox “this session is not connected,can not input any command!”End IfNextEnd Sub【示例四】多会话操作2以下可以实现在已经打开的绘画窗口中,按照打开顺序输入固定的命令,即第一个窗口输入****,然后激活第二个窗口输入*****,多窗口的命令输入是解决了,但是在实际的工作中发现,这样的一个脚本存在不少的缺陷:第一,会话窗口需要按照顺序手动打开,且要按照一定的顺序打开;第二,打开的顺序一旦有错,命令就会输入错误,命令输入没有自适应性;第三,会话的打开是要输入相应的命令,可是命令的结果仍然需要手动保存【示例五】设备log保存这个脚本主要是用来将我们在第一步中打开的会话用log保存在一个我们设定的路径上,这样就可以将后续输入命令的结果自动保存在本地,方便后续的查看对比等工作,下面就让我们来看看这个“打开各个板卡log脚本”的具体的编写情况:# $language = “VBScript”# $interface = “1.0″‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Sub Main()crt.screen.Synchronous = true‘定义两个变量Dim NameDim nCurrentTab‘nTabCount赋值为打开的会话的总个数nTabCount = crt.GetTabCount()‘做循环for index = 1 to nTabCount‘激活第index个会话set tab = crt.GetTab(index)tab.activate‘判断log的情况并获取会话的名称‘log到路径“D:\新建文件夹\”中,并命名为“会话名称.log”If tab.Session.Connected = True ThenIf tab.Session.Logging = False ThenName = tab.Captiontab.Session.LogFileName = “D:\新建文件夹\”&Name&”.log”tab.Session.Log TrueElseIf tab.Session.Logging = True Thentab.Session.Log FalseName = tab.Captiontab.Session.LogFileName = “D:\新建文件夹\”&Name&”.log”tab.Session.Log TrueElse MsgBox “something unknown is wrong!”End IfElse MsgBox “this session is not connected,no need to be logged!”End IfNextEnd Sub【示例六】批量关闭log# $language = “VBScript”# $interface = “1.0″‘脚本开始Sub Main()‘从左到右激活每一个已经连接上的会话,并输入相关命令‘第一个连接的会话Set objCurrentTab1 = crt.GetTab(1)objCurrentTab1.ActivateIf objCurrentTab1.Session.Connected = True thenobjCurrentTab1.Screen.Send “相关命令1″& chr(13)objCurrentTab1.Screen.WaitForString “-> “objCurrentTab1.Screen.Send “相关命令2 ”& chr(13)objCurrentTab1.Screen.WaitForString “-> ”objCurrentTab1.Screen.Send “相关命令3 ”& chr(13)objCurrentTab1.S creen.WaitForString “-> ”End If‘第二个连接的会话Set objCurrentTab2 = crt.GetTab(2)objCurrentTab2.ActivateIf objCurrentTab2.Session.Connected = True thenobjCurrentTab2.Screen.Send “相关命令1″& chr(13)objCurren tTab2.Screen.WaitForString “-> “objCurrentTab2.Screen.Send “相关命令2 ”& chr(13)objCurrentTab2.Screen.WaitForString “-> “objCurrentTab2.Screen.Send “相关命令3″& chr(13)objCurrentTab2.Screen.WaitForString “-> “objCurrentTab2.Screen.Send “相关命令4″& chr(13) End if‘‘第N个连接的会话‘’脚本结束End Sub个脚本主要是用来将我们在可以一次性关闭“打开所有板卡会话脚本”中打开的会话log,这样在需要的操作完成后就可以及时的关闭log,达到控制log文件大小的作用:# $language = “VBScript”# $interface = “1.0″‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Sub Main()crt.screen.Synchronous = true‘定义两个变量Dim NameDim nCurrentTab‘nTabCount赋值为打开的会话的总个数nTabCount = crt.GetTabCount()‘做循环for index = 1 to nTabCountset tab = crt.GetTab(index)‘激活第index个会话tab.activate‘关闭logIf tab.Session.Connected = True ThenIf tab.Session.Logging = False ThenMsgBox “this session is already unlogged!”ElseIf tab.Session.Logging = True Thentab.Session.Log FalseElse MsgBox “something unknown is wrong!”End IfElse MsgBox “this session is not connected,no need to be unlogged!”End IfNextEnd Sub【示例七】打开会话这个脚本要实现的就是一次性的打开我们要输入不同命令的所有的会话# $language = “VBScript”# $interface = “1.0″‘~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Sub Main()crt.screen.Synchronous = true‘打开在SecureCRT中已经保存在huaye文件夹下的会话set tab1 = crt.session.Connectintab(”/s huaye/已存会话1″) set tab2 = crt.session.Connectintab(”/s huaye/已存会话2″) set tab3 = crt.session.Connectintab(”/s huaye/已存会话3″) set tab4 = crt.session.Connectintab(”/s huaye/已存会话4″)End Sub。
SecureCRT批量备份路由器设置

在日常工作中,可能面临几百台网络设备的管理,如何高速可靠的对这些设备进行管理备份下面以华为H3C为例:实测1百多台设备非常高效且容错效果好不易中断,耗时几分钟即对所有路由器配置进行了备份给出的示例脚本并非网上所流传的VBS脚本,而是用python编写的脚本,进行了大量容错处理与测试。
具有如下特点:1、在log目录下自动建立当前日期命名的文件夹,用于存放导出的配置文件2、在log目录下自动生成当前日期命名的日志文件,记录操作失败的设备3、对于不能成功连接的设备或登录失败的设备,会自动跳过,不影响后续操作,不会卡在中间,不会造成批量操作中断4、首先使用列表中用户名和密码尝试登录,若失败,则尝试使用列表中的用户名和”123456”(可在脚本中自己修改)进行登录脚本运行准备工作:1、首先建立如下目录: d:\h3cbackup\log ,此目录可配合脚本修改成其它目录2、建立list设备列表文件,文件类型为文本文件,每行为1台设备相关信息,用空格分割,如下:IP地址用户名密码192.168.1.1admin123321192.168.1.2root321123―――――――这里是分割线,下面是脚本――――――――――――――复制分割线间的内容到记事本,修改扩展名为py――――# $language = "Python"# $interface = "1.0"#本脚本用途:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份import datetimeimport os#获取当前系统日期并格式化日期格式为YYYYMMDDtoday = datetime.date.today()monthStr="{0:02}".format(today.month)dayStr="{0:02}".format(today.day)todayStr=str(today.year)+monthStr+dayStr#打开保存设备管理地址密码列表文件filePath=crt.Dialog.FileOpenDialog("请选择设备列表文件","打开","list.txt","(*.txt)|*.txt")listfile=open(filePath,"r")crt.Screen.Synchronous = True#创建日志文件,记录操作失败设备列表logfile=open("d:\\h3cbackup\\log\\"+todayStr+".txt","w+") #在log目录下自动创建日期命名的文件夹path="d:\\h3cbackup\\log\\"+todayStrif os.path.exists(path)==False:os.mkdir(path)#numSuc记录成功操作个数,numFai记录操作失败个数numSuc=0numFai=0#读出每行,循环操作for line in listfile:#如果遇到只有换行符无内容的行直接跳过if line=="\n":continue#分离每行的参数IP地址用户名密码超级密码params=line.split()#Telnet到这个设备上并判断是否连接成功errcode = 0try:crt.Session.Connect("/TELNET "+params[0]) except ScriptError:errcode = crt.GetLastError()if errcode != 0:#连接失败跳过后续代码进入下次循环logfile.write("连接失败:"+params[0]+"\n")numFai+=1continueelif crt.Session.Connected:r=crt.Screen.WaitForStrings(['login:','Username:'],1)crt.Screen.Send(params[1]+"\r")crt.Screen.WaitForString('Password:',1)if r==1:crt.Screen.Send(params[2]+"\r")if r==2:crt.Screen.Send("123456\r")if crt.Screen.WaitForString(">",2)==False:crt.Screen.WaitForStrings(['login:','Username:'],10)crt.Screen.Send(params[1]+"\r")crt.Screen.Send(params[2]+"\r")#备份目前runing-config配置crt.Session.LogFileName = path+"\\" + params[0] + ".txt"if crt.Session.Logging==False:crt.Session.Log(True)crt.Screen.Send("dis cu\r")while crt.Screen.WaitForString("---- More ----",2):crt.Screen.Send(" ")#备份完成后退出if crt.Screen.WaitForString("return",1):crt.Screen.Send(" ")crt.Session.Disconnect()numSuc+=1else:logfile.write("未知原因:"+params[0]+"\n")numFai+=1logfile.close()crt.Screen.Synchronous = Falsecrt.Dialog.MessageBox("操作完毕\n共:"+str(numSuc)+"个设备操作成功\n共:"+str(numFai)+"个设备操作失败","",64|0)―――――――――这里是分割线――――――――――结束如不是以return 结束,可以自行修改这里的关键字if crt.Screen.WaitForString("return",1):想偷懒的赶紧试试吧附:Crt脚本运行方法,打开CRT软件―〉选择Script-〉选择脚本文件-〉选择设备列表list文件-〉等待运行结束查看结果。
使用SecureCRT批处理备份所有交换机路由器配置脚本

使用SecureCRT比处理备份所有交换机路由器配置脚本小弟测试了SecureCRT脚本批量执行备份cisco交换机或者路由器配置文件的功能。
测试通过(成功批量备份28 台交换机,时间小于 1 分钟)。
此脚本可以根据你的需要修改,改成其他功能,希望有需要的同学扩展思路。
使用SecureCRT比处理备份所有交换机配置的脚本,使用方法:1、在D盘新建一个文件夹,命名为SWbackup打开文件夹,新建一个文本文件list.txt,编辑并保存这个文本文件,每行输入3列分别是:交换机ip 密码enable 密码;例如:192.168.1.1cisco cisco192.168.1.2cisco cisco(有多少交换机就写多少行)2、新建一个文本文件,将下面的代码(两条分割线内的内容,不包括分割线)复制到文本文件内,保存关闭。
将文本文件重命名为:备份所有交换机配置批处理脚本.vbs (注意要现显示文件后缀名才能修改)---------- # $language = "VBScript"# $interface = "1.0"'本脚本示范:从一个文件里面自动读取设备IP 地址,密码等,自动将设备配置备份Sub Main'打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,str1,paramsSet fso = CreateObject("Scripting.FileSystemObject")Set file1 = fso.OpenTextFile("d:\SWbackup\list.txt",Forreading, False) crt.Screen.Synchronous = True DO While file1.AtEndOfStream <> True'读出每行line = file1.ReadLine'分离每行的参数IP地址密码En密码params = Split (line)crt.session.LogFileName = "d:\SWbackup\log\\" & params(0) & ".txt"crt.session.Log(true)crt.Session.Connect "/TELNET " & params(0)crt.Screen.WaitForString "Password:"crt.Screen.Send params(1) & vbcr'进特权模式crt.Screen.Send "enable" & vbcrcrt.Screen.WaitForString "Password:"crt.Screen.Send params (2) & vbcr crt.Screen.waitForString "#"' 备份目前runing-config 配置str1 = "show run"crt.Screen.Send str1 & vbcr crt.Screen.WaitForString " --More-- "crt.Screen.Send"" & vbcr'备份完成后退出crt.Screen.waitForString "!" & vbcrlf & "end"crt.Session.Disconnectloopcrt.Screen.Synchronous = FalseEnd Sub'list.txt 需要先做好。
利用secureCRT脚本对华为交换机进行批量备份

利用secureCRT脚本对华为交换机进行批量备份软件:secureCRT 7.0 作者:鲍继川邮箱:bc5367@原理价绍:利用SecrureCRT的脚本对交换机进行批量登录后记录回话即可完成备份。
首先有个交换机所有的ip,用户名,密码。
Su密码文件,用来读取。
比如e:\\easy\\allswip.txt 里面格式如下:192.168.1.10 username1 password1 supassword1192.168.1.11 username2 password2 supassword2中间是空格,以方便读取。
先telent交换机ip登录,依次自动输入username password等等。
然后dis cu 即可完成备份了。
运行效果图如下:选择脚本后执行以下代码:脚本代码如下:# $language = "JScript"# $interface = "1.0"var ForReading = 1, ForWriting = 2;var objTab= crt.GetScriptTab();crt.Screen.Synchronous = true;function main(){var fso, f,f2,tex;fso = new ActiveXObject("Scripting.FileSystemObject");f = fso.OpenTextFile("e:\\easy\\allswip.txt", 1);//读取交换机ip文件e:\\easy\\allswip.txt//var tex=f2.ReadALL();while ( f.AtEndOfStream != true ){ var str,t;str=f.Readline();params=str.split(" ");//依次登录后dis duobjTab.Session.Connect("/telnet " + params[0]);objTab.Screen.WaitForString("Username:");objTab.Screen.Send(params[1]+"\r");objTab.Screen.WaitForString( "Password:");objTab.Screen.Send(params[2] + "\r");objTab.Screen.WaitForString( ">");objTab.Screen.Send ("super 3" + "\r");objTab.Screen.WaitForString( " Password:");objTab.Screen.Send (params[3] + "\r");objTab.Screen.WaitForString( ">");objTab.Screen.Send ("sys" + "\r");objTab.Screen.WaitForString("]");//记录日志,即备份objTab.Session.LogFileName = "E:\\easy\\备份\\"+params[0]+" "+params[1]+".log"; objTab.Session.Log(true);objTab.Screen.Send("dis cu\r");//这里是发送空格哦就是那个什么more 需要的objTab.Screen.Send(" ");objTab.Screen.Send(" ");//objTab.Screen.WaitForString("@",15)objTab.Screen.WaitForString("]");//objTab.Session.Log(false);objTab.Screen.Send("quit\r");//objTab.Screen.WaitForString("]");objTab.Session.Log(false);//objTab.Screen.Send("quit\r");//objTab.Screen.WaitForString(">");//objTab.Screen.Send("save\r");//objTab.Screen.Send("y\r");objTab.Screen.WaitForString("@",2)objTab.Session.Disconnect();}}完成后发现e盘下面有E:\easy\备份这个文件夹里面都是备份的内容了。
傻瓜操作SecureCRT软件实现思科、华为交换机自动备份

傻瓜操作SecureCRT软件实现思科、华为交换机自动备份无需脚本通过SecureCRT软件实现思科、华为交换机全备份首先下载中文版的SecureCRT5."1,中文版更方便操作,没有中文版的也没关系,我会图示例出。
打开SecureCRT5."1软件,新建一个交换机连接(新建应该会的吧,要是用中文版的很简单的)-----点击这个新建的连接-再点下会话选项如图1-1 1-1出现会话选项—连接---点击登录脚本,把自动登录勾打上,期望其实解释是指当登入界面出现什么时,所以期望后面的框,这里大家可以根据自身交换机来填,发送:这个后面填命令,例:期望:password:发送:这里输入密码(当出现password:时输入对应的密码),如图1-2如果觉得要输入的命令太少了,这也没关系,不过要用脚本了,把登录脚本的勾打上,选择脚本文件。
脚本文件:# $language = "VBScript"# $interface = "1.0"Sub Maincrt.Screen.WaitForString "AA"crt.sleep 2000crt.Screen.Send "BB" & VbCrcrt.sleep 2000crt.Screen.Send "CC" & VbCrEnd Sub将以上脚本文件保存在TXT记事本里,保存vbs格式。
注:脚本中AA需根据实际情况输入命令,crt.Screen.WaitForString 这段是指当出现什么命令时BB和CC根据实际情况输入自已的命令1-2接下来就是选择保存的日志--------点击日志文件------取个交换机名保存即可,在连接上启动记录这里要打个勾。
如图1-31-3OK,这样就可以了,以后双击交换机连接,自动运行命令,里面的内容自动保存,不管是CISCO和华为交换机都可以通过这个方法自动备份,傻瓜操作,无需脚本。
配置备份三层交换机方法

配置备份三层交换机方法如果是cisco的下个Cisco TFTP Server,完了用copy startup-config tftp 就可以了拷贝下来了,考上去是copy tftp running-config要是华为的或者h3c的,有的型号可以web界面登陆直接下载配置文件。
或者用ftp从交换机上下载。
将笔记本的IP设为10.200.0.111,在这台笔记本上安装有Serv-U软件(即将这台笔记本作为一台FTP服务器),用网线将笔记本连接至旧交换机的端口7,以上操作完毕后,在旧交换机上执行华为交换机配置备份操作:<ZXJF_3552>ftp 10.200.0.111Trying ...Press CTRL+K to abortConnected.220 Serv-U FTP Server v5.2 for WinSock ready...User(none):lrx331 User name okay, need password.Password:230 User logged in, proceed.[ftp]bin[ftp]put vrpcfg.txt200 PORT Command successful.150 Opening BINARY mode data connection for vrpcfg.txt.226 Transfer complete.FTP: 6561 byte(s) sent in 0.220 second(s) 29.00Kbyte(s)/sec.[ftp]bye221 Goodbye!其实华为交换机配置备份操作很简单,就是将这台华为3552交换机作为一个FTP客户端,将配置文件vrpcfg.txt上传到了一台FTP服务器上面(即保存在一台FTP服务器上面),为了将这个配置文件再上传至那台新交换机上去,我们要进行第二步操作。
(二)为新交换机配置IP地址要想通过FTP的方式获取配置文件,必须首先为这台交换机配置IP地址,在笔记本上通过配置线接至交换机的配置口,进行华为交换机配置备份操作<Quidway>sysEnter system view, return to user view with Ctrl+Z.[Quidway]inter vlan 100[Quidway-Vlan-interface100]ip addr 10.200.0.1 255.255.255.0[Quidway-Vlan-interface100]inter fa0/7[Quidway-Ethernet0/7]port access VLAN 100以上操作就为这台新交换机新建VLAN100,设置VLAN的ip地址为10.200.0.1,并且将端口7划归属于VLAN100.(三)新交换机从FTP服务器上下载配置文件进行如下操作:<Quidway>ftp 10.200.0.111Trying ...Press CTRL+K to abortConnected.220 Serv-U FTP Server v5.2 for WinSock ready...User(none):lrx331 User name okay, need password.Password:230 User logged in, proceed.[ftp]bin200 Type set to I.[ftp]get vrpcfg.txt227 Entering Passive Mode (10,200,0,111,4,3)150 Opening BINARY mode data connection for vrpcfg.txt (6561 Bytes).226 Transfer complete.FTP: 6561 byte(s) received in 0.528 second(s) 6.00Kbyte(s)/sec.[ftp]bye221 Goodbye!(四)重启交换机,以使配置文件生效<Quidway>rebootThis will reboot Switch. Continue? [Y/N] y重启完再通过dis cu命令醒看配置信息,发现已经完全与那台旧的交换机一样了。
基于SecureCRT的网络设备配置批量备份实践

操作 的网络设 备相关 信息。 由于不同厂商的设
备, 配置语言略有 区别 , 配置文件除了记录设备I P 地址
c a s e’ ’ CI S CO”
外, 还须记录设备品牌 , 最后通过脚本遍历 配置文件,
逐—对每台设备进行操作。 ‘ 配置文件格式 : 设备品牌+ 设备I P
‘ CI S CO x x . X X . x x . x x ‘ H3 C X X . X X . X X . x x
C I S C O ( i p )
c a s e e l s e
‘ 调用对思科设备操作过程
Ms g B o x” 设备类 型未知: ” &p a r a m s ( O 1 &” ! ”
e n d s e l e c t l o o p
‘ 打开保存设备管理地址以及密码的文件
‘ l o g
—
8
Di m f s o , il f e l , l i n e , s t r l , p a r a ms
d i r 为日志保存路径
—
S e t f s o :C r e a t e O b j e c t ( ” S c r i p t i n g . F i l e S y s t e m O b j e e t ” 、
—
2 01 4 年 ・ 第5 期
栏 目编辑 :罗锦莉 E - ma i l : l u o l 0 2 5 0 0 @1 6 3 c o m
c r t . S c r e e n . S e n d v b c r
c r t . S c r e e n . Wa i t F o r S t r i n g’ ’ b y t e s / s e c ) ”
SecureCRT详细使用过程(整理版)

SecureCRT详细使⽤过程(整理版)SecureCRT的使⽤⽅法和技巧(详细使⽤教程)最近分了新任务做⼿机游戏的服务端,⽤到Linux系统,但是要控制服务器端的⼀些程序和监控要⽤到 SecureCRT这个软件,先前⼀点没接触过,其实跟windows的窗⼝差不多都是命令.SecureCRT是最常⽤的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx 服务器主机的软件,本⽂主要介绍SecureCRT的使⽤⽅法和技巧。
VanDyke CRT 和VanDyke SecureCRT是最常⽤的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件。
⼆者不同的是SecureCRT⽀持SSH (SSH1和SSH2)。
【概念解释】什么是SSH?SSH的英⽂全称是Secure Shell传统的⽹络服务程序,如:ftp和telnet在本质上都是不安全的,因为它们在⽹络上⽤明⽂传送⼝令和数据,别有⽤⼼的⼈⾮常容易就可以截获这些⼝令和数据。
⽽通过使⽤SSH 客户端与服务器端通讯时,⽤户名及⼝令均进⾏了加密,有效防⽌了对⼝令的窃听。
同时通过SSH的数据传输是经过压缩的,所以可以提⾼数据的传输速度,既然如此我们为什么不使⽤它呢。
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。
⾄于具体如何安装服务器端,普通⽤户就不需要关⼼了。
⼀、安装⾸先要下载SecureCRT,⽬前最新的版本为6.1.3 (截⽌到2008年2⽉,其破解版本TBE或AGAiN),我们以5.53版为例进⾏介绍,下载安装⽂件scrt553.exe和破解⽂件keygen.exe。
安装过程很简单,运⾏scrt553.exe,只要“下⼀步”即可,安装过程中可以看到SecureCRT⽀持以下协议:SecureCRT使⽤说明- 脚本之家安装完成后,第⼀次启动SecureCRT会有如下提⽰:SecureCRT使⽤说明- 脚本之家⽤户需要指定⼀个⽬录,⽤来存放SecureCRT的配置信息。
SecureCRT批量备份不同型号交换机说明及脚本配置

shebei.txt为设备IP地址等信息shebei.txt格式如下设备名称登录帐号登录密码超级密码IP 端口Telnet 设备型号XXX交换机123 **** **** 192.168.1.1 23 Telnet 3300在做CRT脚本的时候,不同的设备获取配置文件的命令稍微有些不通,所以这个脚本做了设备型号的判断。
(这个案例是以华为的设备为例,如果网络中存在思科或者中兴等设备可以对脚本稍作修改即可)# $language = "VBScript"# $interface = "1.0"'==========================================================================' NAME: Backup Of IP-MAN' AUTHOR: LiuBin'==========================================================================Sub MainConst DEVICE_FILE_PATH = "shebei.txt"Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")Dim filSet fil = fso.OpenTextFile(DEVICE_FILE_PATH)Dim ipDim nameDim protocolDim lineDim cnxnStringWhile Not fil.AtEndOfStreamline = fil.ReadLinename = Split(line, " ")(0)username =Split(line, " ")(1)password =Split(line, " ")(2)super =Split(line, " ")(3)ip = Split(line, " ")(4)port = Split(line, " ")(5)protocol = Split(line, " ")(6)devicetype = Split(line, " ")(7)Select Case protocolCase "Telnet"cnxnString = "/TELNET " & ip & " "& portEnd Select'Logcrt.Session.LogFileName = "E:\\easy\\备份\\"+name+" "+ip+".log"‘备份的目标地址crt.Session.Log True' Connectcrt.Screen.Synchronous = TrueOn Error Resume Nextcrt.session.Connect cnxnStringIf Err.Number<>0 Thencrt.Session.Log "Connect failed"crt.Screen.Synchronous = Falsecrt.Session.Log Falseelseif devicetype="9306" or devicetype="9303" or devicetype="8505" or devicetype="3928" or devicetype="3528" or devicetype="2300" then‘判断设备型号crt.Screen.WaitForString "Username:"crt.Screen.Send username & vbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send password & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "super" & vbCrcrt.Screen.WaitForString " Password:"crt.Screen.Send super & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "dis cu" & chr(13)crt.Screen.Send " "‘这个是发送空格,就是交换机打dis cu的时候需要打空格或者回车才会显示另外一页crt.Screen.Send chr(13)crt.Screen.WaitForString ">"crt.Screen.Send "quit" & chr(13)crt.Screen.Synchronous = Falsecrt.Session.Disconnectcrt.Session.Log Falseelseif devicetype="3300" thencrt.Screen.WaitForString "Username:"crt.Screen.Send username & vbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send password & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "dis cu" & chr(13)crt.Screen.Send " "crt.Screen.Send chr(13)crt.Screen.WaitForString ">"crt.Screen.Send "quit" & chr(13)crt.Session.Log falsecrt.Session.Disconnect()elseif devicetype="ME60" thencrt.Screen.WaitForString "Password:"crt.Screen.Send password & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "super" & vbCrcrt.Screen.WaitForString " Password:"crt.Screen.Send super & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "dis cu" & chr(13)crt.Screen.Send " "crt.Screen.Send chr(13)crt.Screen.WaitForString ">"crt.Screen.Send "quit" & chr(13)crt.Screen.Synchronous = Falseend ifEnd IfWendfil.CloseEnd Sub。
华为交换机自动透传vbs脚本1

单个华为交换机自动透传vlan工具:secureCRT 语言:vbs 整理:鲍继川邮箱:bc5367@gmailaaa1.Vlan.txt 文件Xxxx_93062012G1/0/0 G1/0/2 g1/0/3第一行为交换机名称第二行为vlan第三行为要透传的端口2 交换机信息文件交换机.txt1.1.1.1 用户名密码super3密码2.2.2.2 用户名密码super3密码———————————————————————————————————————3 通过读取vlan.txt 文件的第一行,找到交换机信息文件里德信息后登陆进去,取得vlan.txt 的第二行为vlan信息。
取得第三行作为交换机端口,准备透传。
完整代码如下:# $language = "VBScript"# $interface = "1.0"Sub MainConst ForReading = 1, ForWriting = 2, ForAppending = 8Dim objTab,flagon error goto 0flag=0Set objTab = crt.GetScriptTabSet fso1 = CreateObject("Scripting.FileSystemObject")Set fso4 = CreateObject("Scripting.FileSystemObject")objTab.Screen.Synchronous = Truestr1="e:/easy/vlan.txt"if not fso1.FileExists(str1) thencrt.Dialog.MessageBox "交换机透传文件不存在" & vbcrlf & _ vbcrlf & _str1 & vbcrlf & vbcrlf & _"请重新运行脚本!"exit Subend ifSet file1 = fso1.OpenTextFile(str1,1, False)line1=""line1 = Trim(file1.ReadLine)if line1="" thencrt.Dialog.MessageBox "交换机为空!"exit subend ifdim line2,line3,line4str4="E:\easy\交换机ip.txt"Set file4= fso4.OpenTextFile(str4,1, False)doline4=Trim(file4.ReadLine)if(line4="") thenexit subend ifparams=Split(line4)if(line1=params(1)) thenflag=1'msgbox(flag)exit doend ifloop until file4.AtEndOfStream=Trueif flag=0 thenmsgbox("没找到交换机")exit subend ifline2 = Trim(file1.ReadLine)line3 = Trim(file1.ReadLine)l=Split(line3)if(line2="")thenmsgbox("vlan为空")exit Subend ifif(line3="")thenmsgbox("端口为空")exit Subend ifobjTab.session.LogFileName = "e:easy\log\" & Date & "\" & params(0) & ".txt"objTab.session.Log(true)'Telnet到这个设备上objTab.Session.Connect "/TELNET " & params(0)objTab.Screen.Synchronous = TrueobjTab.Screen.WaitForString "Username:"objTab.Screen.Send params(1) & chr(13)objTab.Screen.WaitForString "Password:"objTab.Screen.Send params(2) & chr(13)objTab.Screen.WaitForString ">"objTab.Screen.Send "super 3" & chr(13)objTab.Screen.WaitForString " Password:"objTab.Screen.Send params(3) & chr(13)objTab.Screen.WaitForString ">"objTab.Screen.Send "sys" & chr(13)objTab.Screen.WaitForString "]"skey=InStr(params(1),5)select case skeycase 0crt.Screen.Send "vlan ba " & line2 & chr(13)for i=0 to UBound(l)objTab.Screen.WaitForString "]"objTab.Screen.Send "int "& l(i)&chr(13)objTab.Screen.WaitForString "]"objTab.Screen.Send "port tr al vl "&line2&chr(13)objTab.Screen.WaitForString "]"objTab.Screen.Send "quit"&chr(13)nextcase elseobjTab.Screen.Send "vlan " & line2 & chr(13)for i=0 to UBound(l)objTab.Screen.WaitForString "]"objTab.Screen.Send "int "& l(i)&chr(13)objTab.Screen.WaitForString "]"objTab.Screen.Send "port tr per vl "&line2&chr(13)objTab.Screen.WaitForString "]"objTab.Screen.Send "quit"&chr(13)nextend selectobjTab.Screen.WaitForString "]"objTab.Screen.Send "quit" & chr(13)objTab.Screen.WaitForString ">"objTab.Screen.Send "sa" & chr(13)'objTab.Screen.WaitForString "Are you sure to continue?[Y/N]"'objTab.Screen.WaitForString "@",1objTab.Screen.Send "y" & chr(13)objTab.Screen.WaitForString "#", 2objTab.Session.Disconnectfile1.Close()Call objTab.Session.Log(False)objTab.Screen.Synchronous = Falseend Sub实际运行效果如下:************************************************************ All rights reserved (2003-2009) ** Without the owner's prior written consent, ** no decompiling or reverse-engineering shall be allowed. ** Notice: ** This is a private communication system. ** Unauthorized access or use may lead to prosecution. ************************************************************Login authenticationUsername:_9306Password:Info: The max number of VTY users is 10, and the numberof current VTY users on line is 1.<_S9306>super 3Password:Warning: Now user privilege is level 3, and only those commands whose level is equal to or less than this level can be used.Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE<_S9306>sysEnter system view, return user view with Ctrl+Z.[_S9306]vlan ba 2016[_S9306]int g1/0/6[_S9306-GigabitEthernet1/0/6]port tr al vl 2016[_S9306-GigabitEthernet1/0/6]quit[_S9306]quit<_S9306>saThe current configuration will be written to the device. Continue? [Y/N]:yNow saving the current configuration to the device...Info: Succeeded in saving the current configuration to the master board device..[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]。
SecureCRT脚本实现自动备份华为交换机配置

下面这个脚本能批量对交换机做配置备份工作,在使用时请根据情况更改脚本中交换机的登录密码如下位置crt.Screen.WaitForString ">"crt.Screen.Send "su" & VbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send "huawei" & VbCrcrt.Screen.WaitForString ">"其中,name.txt文件就是一行一个交换机的IP地址,如:172.16.1.1172.16.1.2------------------------------------------------------------请将下列脚本保存为*.VBS文件-----# $language = "VBScript"# $interface = "1.0"' This script shows how to read in a file, and it demonstrates how to' perform some preprocessing on data (splitting the file data into' separate strings) before sending it to a server.' Constant used by OpenTextFile()Const ForReading = 1Sub main' Open a file, read it in & send it one line at a timeDim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.OpenTextFile("d:\name.txt", ForReading, 0)Dim line, paramsDo While f.AtEndOfStream True' Read each line of the printers file.'line = f.Readline' Split the line up. Each line should contain 3 space-separated parametersparams = Split( line )' params(0) holds parameter 1, params(1) holds parameter 2, etc.'' Send "mycommand" with the appended parameters from the file with' an appended CR.'crt.Screen.Send "telnet " & params(0) & " " & vbCR'wait for switch promptcrt.Screen.WaitForString "Username:"crt.Screen.Send "admin" & VbCr' Wait for a tring that looks like "password: " or "Password: "crt.Screen.WaitForString "Password:"' Send your password followed by a carriage returncrt.Screen.Send "admin" & VbCrcrt.Screen.WaitForString ">"crt.Screen.Send "su" & VbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send "huawei" & VbCrcrt.Screen.WaitForString ">"' execute some commandscrt.Screen.Send "tftp 172.16.1.250 put vrpcfg.cfg " & params(0) & ".txt " & VbCr crt.Screen.Send "quit" & VbCr'leave out switch,stay in linuxcrt.Screen.WaitForString "#", 3' Cause a 3-second pause between sends by waiting for something "unexpected"' with a timeout value.LoopEnd Sub。
如何使用SecureCRT导出华为,思科设备配置

如何使用Secure CRT导出华为,思科设备配置
推荐文章
电脑版全民k歌如何配置音频设备热度:如何查看电脑硬件配置和查看设备管理器热度:RHEL7中防火墙的配置和使用方法是什么热度: CentOS7Docker防火墙的简单配置教程热度: Cisco网络防火墙配置方法是什么用哪些命令热度:
华为,思科的网络设备配置,是需要经常备份,以防特殊情况丢失。
下面是店铺收集整理的如何使用Secure CRT 导出华为,思科设备配置,希望对大家有帮助~~
使用Secure CRT 导出华为,思科设备配置的方法
工具/原料
Secure CRT
方法/步骤
为了方便举例,使用一台装有 LINUX 的机器说明
连接上设备进入就要看设备配置的地方,可以先输入命令,但是不要按回车
点击文件--会话日志
不要选择原始回话日志,这样会把你输入的空格和显示出来的类似“press any key to continu e" 或者 --More-- 也放进去,这样就不美观,而且段落不连贯看起也费劲
选择保存日志的名字和路径,通常日志的扩展名都是 .log, 这个暂时不要改,你可以之后改成TXT,或是其它文档格式。
点击保存
现在开始输入查看配置的命令,华为,H3C简写为dis cu ,思科为 sh run
因为有的配置很长,所以要不停的敲击空格键,直至出现提示符完毕
现在就不要输其它命令了,现在取消会话日志选项
到刚才保存路径查看下刚才保存的配置,在Secure CRT下会分
段的地方,不粗现分段了,也没有--MORE-- 提示,和按了空格的提示
如何使用Secure CRT 导出华为,思科设备配置。
securecrt使用教程

securecrt使用教程SecureCRT使用教程:一、安装SecureCRT1. 下载SecureCRT安装包并双击运行。
2. 在安装向导中,按照提示一步步完成安装过程。
3. 安装完成后,打开SecureCRT。
二、配置连接1. 点击"文件"菜单,选择"新建会话"。
2. 在"会话属性"窗口中,填写要连接的主机IP地址或主机名。
3. 选择连接的协议,如SSH、Telnet等。
4. 配置端口号(如果不是默认端口)。
5. 配置用户名和密码(或私钥)。
6. 点击"连接"开始连接远程主机。
三、使用SecureCRT1. 连接成功后,远程主机的命令行界面会显示在SecureCRT的窗口中。
2. 可以使用键盘输入命令,就像在本机操作一样。
3. SecureCRT还提供了一些额外的功能,比如自动补全命令、命令历史记录等。
4. 在SecureCRT的工具栏中,有一些常用工具如文件传输、会话管理等,可以根据需要使用。
四、断开连接1. 在SecureCRT窗口中,输入"exit"或"logout"等命令断开连接。
2. 或者点击工具栏中的"断开"按钮。
五、保存会话配置1. 在"会话属性"窗口中,填写连接配置后,点击"应用"按钮。
2. 在弹出的对话框中,输入会话名称,点击"确定"保存会话配置。
3. 下次打开SecureCRT时,可以在主界面找到已保存的会话,并直接点击连接。
六、批量连接远程主机1. 在SecureCRT的会话管理窗口中,可以创建会话文件夹和添加多个会话配置。
2. 将多个会话配置添加到会话文件夹中,方便批量连接。
3. 可以通过右键菜单选择"连接"或"全部连接"来批量连接远程主机。
CISCO交换机备份和恢复配置文件的方法

CISCO交换机备份和恢复配置文件的方法你还在为不知道CISCO交换机备份和恢复配置文件而烦恼么?接下来是小编为大家收集的CISCO交换机备份和恢复配置文件教程,希望能帮到大家。
CISCO交换机备份和恢复配置文件的方法1、保存配置将当前运行配置从DRAM存储到启动配置所在的NVRAM中,有两种命令:(1)规范版本:Sw1#copy system:running-configflash:startup-configDestination filename [startup-config]?(确认目的文件名)(2)简略版本:Sw1#copy running-config startup-configDestination filename [startup-config]?(3)其他版本Sw1#copy run startcopy run start是copy running-config startup-config的简写。
Sw1#wrwr是write的简写。
2、将启动配置备份到存储在闪存NVRAM的文件中比如将启动配置备份为文件名config.bak1的文件,并存储在NVRAM中:Sw1#copy startup-configflash:config.bak1Destination filename [config.bak1]?3、恢复配置比如将备份的启动配置config.bak1恢复为目前想用的启动配置:Sw1#copy flash:config.bak1 startup-configDestination filename [startup-config]?当配置恢复到startup-config中后,可在特权模式下使用reload 命令重启交换机,使其重新加载新的启动配置:Sw1#reloadSystem configuration has been modified.Save?[yes/no]:nProceed with reload?[confirm]发出reload命令后,系统将提示您是否要保存配置,此处不需要保存,所以选择no。
华为交换机配置备份与还原

华为交换机配置备份与还原
备份配置:
1、直接进⼊主题交换机通过console线连接,使⽤xshell软件,设置serial(查看相关⽂章,度娘上有)
2、启动机器进⼊配置!
3、更改名称、进⼊aaa模式、打开ftp服务器ftp-server enable,设置访问⽤户名、密码,更改模式等保存。
4、不好意思上⾯的有点错误补充⼀下,
5、使⽤windows终端命令(看好⽬录,这是保存配置的位置,要不到时候找不到)
进⼊之后执⾏get flash:/config.cfg backup.cfg 前⾯的是⽂件位置后⾯的是备份的⽂件名字,get为下载命令。
恢复配置:
1、前⾯都是相同的不做论述
2、只是后⾯的get更改为put后⾯跟着备份的配置⽂件,使⽤dir查看是否上传成功。
3、然后应⽤配置重启(没有截图引⽤⼀下别的⼤神的⽂件)。
使用 SecureCRT 批处理备份锐捷交换机配置脚本

使用SecureCRT 批处理备份锐捷交换机配置脚本已测试了SecureCRT 脚本批量执行备份锐捷交换机配置文件的功能。
此脚本可以根据你的需要修改,改成其他功能,希望有需要的同学扩展思路。
使用SecureCRT 批处理备份所有交换机配置的脚本,使用方法:1、在 C 盘新建一个文件夹,命名为SW_bak,打开文件夹,新建一个文本文件swlist.txt,编辑并保存这个文本文件.每行输入4 列分别是:交换机IP 用户名密码enable密码;例如:192.168.11.1 root password password192.168.12.1 root password password(有多少交换机就写多少行)2、新建一个文本文件,将下面的代码(两条分割线内的内容,不包括分割线)复制到文本文件内,保存关闭。
将文本文件重命名为:备份交换机配置批处理.vbs# $language ="VBScript"# $interface = "1.0"'本脚本示范:从一个文件里面自动读取设备IP 地址,密码等,自动将设备配置备份Sub Main'打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,str1,paramsSet fso = CreateObject("Scripting.FileSystemObject")Set file1 = fso.OpenTextFile("c:\ SW_bak\swlist.txt ",Forreading,False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> True'读出每行line = file1.ReadLine'分离每行的参数交换机IP 用户名密码enable密码;params = Split (line)crt.session.LogFileName = " c:\ SW_bak\log\20120713\" & params(0) & ".txt"crt.session.Log(true)'Telnet 到这个设备上crt.Session.Connect "/TELNET " & params(0)'输入Username 密码crt.Screen.WaitForString " Username:"crt.Screen.Send params(1) & vbcr'输入telnet 密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(2) & vbcr'进特权模式crt.Screen.Send "enable" & vbcrcrt.Screen.WaitForString "Password:"crt.Screen.Send params(3) & vbcrcrt.Screen.waitForString "#"'备份目前runing-config 配置str1 = "show run"crt.Screen.Send str1 & vbcrcrt.Screen.WaitForString " --More-- "crt.Screen.Send " & vbcr " '备份完成后退出crt.Screen.waitForString "!" & vbcrlf & "end"crt.Session.Disconnect loopcrt.Screen.Synchronous = False End Sub复制备份交换机配置批处理.vbs 到c:\ SW_bak\ 文件夹内;3、在c:\ SW_bak\ 文件夹中新建一个log 文件夹,用于保存配置文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无需脚本通过SecureCRT软件实现思科、华为交换机全备份
首先下载中文版的SecureCRT 5.1 ,中文版更方便操作,没有中文版的也没关系,我会图示例出。
打开SecureCRT 5.1软件,新建一个交换机连接(新建应该会的吧,要是用中文版的很简单的)-----点击这个新建的连接-再点下会话选项如图1-1
1-1
出现会话选项—连接---点击登录脚本,把自动登录勾打上,期望其实解释是指当登入界面出现什么时,
所以期望后面的框,这里大家可以根据自身交换机来填,发送:这个后面填命令,例:
期望:password: 发送:这里输入密码(当出现password: 时输入对应的密码),如图1-2
如果觉得要输入的命令太少了,这也没关系,不过要用脚本了,把登录脚本的勾打上,选择脚本文件。
脚本文件:
# $language = "VBScript"
# $interface = "1.0"
Sub Main
crt.Screen.WaitForString "AAAA"
crt.sleep 2000
crt.Screen.Send "BBBB" & VbCr
crt.sleep 2000
crt.Screen.Send "CCCC" & VbCr
End Sub
将以上脚本文件保存在TXT记事本里,保存vbs格式。
注:脚本中AAAA需根据实际情况输入命令,crt.Screen.WaitForString 这段是指当出现什么命令时
BBBB和CCCC根据实际情况输入自已的命令
1-2
接下来就是选择保存的日志--------点击日志文件------取个交换机名保存即可,在连接上启动记录这里要打个勾。
如图
1-3
1-3
OK,这样就可以了,以后双击交换机连接,自动运行命令,里面的内容自动保存,不管是CISCO和华为交换机都可以通过这个方法自动备份,傻瓜操作,无需脚本。