傻瓜操作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是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧VanDyke CRT 和 VanDyke SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件。
二者不同的是SecureCRT支持SSH(SSH1和SSH2)。
本文主要介绍SecureCRT的使用方法和技巧。
软件下载地址SecureCRT 终端仿真程序中文绿色便携破解版SecureCRT 32位绿色便携特别版SecureCRT 64位绿色便携特别版【概念解释】什么是SSH?SSH的英文全称是Secure Shell传统的网络服务程序,如:ftp和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。
而通过使用SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。
同时通过SSH的数据传输是经过压缩的,所以可以提高数据的传输速度,既然如此我们为什么不使用它呢。
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。
至于具体如何安装服务器端,普通用户就不需要关心了。
一、安装1、安装首先要下载SecureCRT,目前最新的版本为6.1.3 (截止到2008年2月,其破解版本TBE 或AGAiN),我们以5.53版为例进行介绍,下载安装文件scrt553.exe和破解文件keygen. exe。
安装过程很简单,运行scrt553.exe,只要“下一步”即可,安装过程中可以看到 SecureC RT支持以下协议:安装完成后,第一次启动SecureCRT会有如下提示:用户需要指定一个目录,用来存放SecureCRT的配置信息。
此目录默认为C:\Documents an d Settings\用户名\Application Data\VanDyke\Config,如果是升级SecureCRT需要保持此文件夹与旧版本一致,如果重装系统,一定要备份此目录。
SecureCRT配置文件备份
2、备份配置文件 进入上述配置文件目录,将里面的所有文件打包复制。
3、配置文件恢复 将步骤2中打包的文件解压到新安装SecureCRT软件的配置文件目录,或将其配置文件目录设置为备份的配置文件目录。
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
SecureCRT配 置 文 件 备 份
日常工作中,为了避免重装系统导致SecureCRT的相关配置(button ba置文件所在路径 打开SecureCRT软件,依次点击菜单栏下的Options-->Global Options-->General-->Configuration Paths
securecrt 使用方法
securecrt 使用方法SecureCRT是一款功能强大的终端模拟器和SSH客户端软件,它提供了一种安全和可靠的远程访问方式,可以用于连接和管理远程服务器、网络设备和云主机等。
本文将介绍SecureCRT的使用方法,帮助读者快速上手并充分发挥其功能。
1. 下载和安装SecureCRT首先,我们需要从官方网站下载SecureCRT的安装包,并根据系统类型选择相应的版本。
下载完成后,双击安装包并按照提示完成安装过程。
2. 配置连接信息打开SecureCRT后,我们需要配置连接信息以连接到远程服务器。
点击“文件-> 新建会话”按钮,弹出新建会话对话框。
在对话框中,我们可以设置会话名称、协议类型、主机地址、端口号等连接参数。
根据实际情况填写完整的连接信息,并点击“确定”按钮保存会话配置。
3. 建立连接在配置完连接信息后,我们可以双击会话列表中的某个会话或者点击“打开”按钮来建立与远程服务器的连接。
SecureCRT将自动执行身份验证过程,并建立安全的加密通道。
4. 使用会话功能SecureCRT提供了丰富的会话功能,可以帮助我们更高效地管理远程设备。
在连接成功后,我们可以使用会话窗口进行命令输入和输出查看。
同时,SecureCRT还支持会话分组、会话管理器、会话日志、会话脚本等功能,可以根据个人需求进行灵活配置和使用。
5. 自定义设置SecureCRT允许用户根据自己的喜好和习惯进行个性化设置。
我们可以点击“选项”菜单来访问各种设置选项,如外观设置、键盘映射、脚本设置等。
通过合理的设置,可以提高工作效率并提供更好的用户体验。
6. 快捷键操作SecureCRT提供了丰富的快捷键操作,可以帮助我们快速完成各种操作。
比如,使用Ctrl+C可以终止当前命令的执行,使用Ctrl+V可以粘贴剪贴板内容,使用Ctrl+Shift+T可以打开新的会话选项卡等。
熟练掌握这些快捷键操作,可以提高工作效率。
7. 脚本自动化SecureCRT支持使用VBScript、Python等脚本语言编写自动化脚本。
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文件-〉等待运行结束查看结果。
网络交换机配置备份脚本介绍
一、脚本介绍1.本文的自动配置备份脚本是通过BAT脚本自动运行CRT-登录交换机-查看当前配置-记录会话-保存会话的方式实现的。
2.本方法需要把以下4个文件要放置在同一目录下:(1)配置备份.bat主要实现统计备份前后文件数量,运行CRT(2)配置备份.vbs此脚本实现CRT自动登录交换机,并查看配置记录会话(3)SWIP.txt 记录交换机IP(4)swbackup.log备份日志,备份完成情况会记录到此文件中二、配置备份.bat脚本1.命令窗口标题设置命令窗口名称显示为“配置备份程序”@echo offcolor 0atitle 配置备份程序2.修改日期格式::调整时间格式为:14:00:00set time1=%time:~0,8%::调整日期格式为:2017-09-01set y=%date:~0,4%set m=%date:~5,2%set d=%date:~8,2%::调整日期格式,去除日期前面的0,结果为:2017-9-1(这里只的我的个人需要)if %m% == 01 (set m=1)if %m% == 02 (set m=2)if %m% == 03 (set m=3)if %m% == 04 (set m=4)if %m% == 05 (set m=5)if %m% == 06 (set m=6)if %m% == 07 (set m=7)if %m% == 08 (set m=8)if %m% == 09 (set m=9)if %d% == 01 (set d=1)if %d% == 02 (set d=2)if %d% == 03 (set d=3)if %d% == 04 (set d=4)if %d% == 05 (set d=5)if %d% == 06 (set d=6)if %d% == 07 (set d=7)if %d% == 08 (set d=8)if %d% == 09 (set d=9)set date1=%y%-%m%-%d%2.设置配置备份目录路径配置我这里统一保存在E盘-配置备份-日期-目录下set dir=E:\配置备份\%y%-%m%-%d%3.自动计算需要备份的设备数量,即SWIP.txt文件的行数set "file=E:\FANTAWILD\配置备份脚本\SWIP.txt"for /f "delims=" %%a in (%file%) do set/a rows+=14.命令窗口打印显示以下信息echo.echo ********************************************echo 网络设备配置备份echo ********************************************echo 备份日期:%date1% %time1%echo 设备数量:%rows%echo 备份目录:%dir%echo ********************************************5.启动CRT软件,并执行配置备份.vbs脚本start "" "D:\Program Files\SecureCRT-7.0\App\VanDykeClients\SecureCRT.exe" /SCRIPT E:\FANTAWILD\配置备份脚本\配置备份.vbs >nul6.预计备份时间:: 通过多次测试,预计每台设备备份时间为2秒钟(不同设备收集配置时间可能不一样)总的时间就是2乘设备数量set /a rows2=%rows%*2echo 预计备份时间%rows2% 秒7.进度条,纯属为了界面动态美观(可忽略)::echo 正在备份,请稍候::进度条1set /p= 正在备份,请稍候<nulset /a a=1:aset /a a+=1set /p=.<nul::for %%a in ( ">") do (set /p=%%a<nul &ping -n 2 127.1>nul)ping -n 2 127.1>nulif not %a%==%rows2% goto a8.备份完成后,结束CRT进程taskkill /f /im SecureCRT.exe >nulecho.9.统计配置文件数量,即备份完成后备份目录里的文件数量set n=0for /f "delims=" %%a in ('dir /a-d /b /s "%dir%" ') do (set /a n+=1)10.指定备份完成时时间set time2=%time:~0,8%11.命令窗口显示echo ********************************************echo 备份完成,共%rows% 台设备,已完成%n% 台设备echo 备份完成时间:%date1% %time2%echo ********************************************echo.12.为了方便查看备份记录,将此次的备份情况另外输出到日志文件echo.>>swbackup.logecho.>>swbackup.logecho============================================>>swbackup.log echo 备份开始时间:%date1% %time1%>>swbackup.logecho 备份完成时间:%date1% %time2%>>swbackup.logecho 设备数量:%rows% >>swbackup.logecho 当前备份数量:%n% >>swbackup.logecho 备份目录:%dir%>>swbackup.logecho============================================>>swbackup.log13.BAT配置备份结束pause三、配置备份vbs脚本此脚本是在CRT中使用的,实现CRT自动登录交换机,并收集记录配置信息1.基本配置# $language = "VBScript"# $interface = "1.0"2.从一个文件里面自动读取设备IP地址,用户名,密码,并创建日志文件,为记录配置信息做准备Sub Main'打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,str1,paramsSet fso = CreateObject("Scripting.FileSystemObject")Set file1 = fso.OpenTextFile("E: \配置备份脚本\SWIP.txt",Forreading, False)crt.Screen.Synchronous = TruedtmNowDate = Now()dtmNowDate = Year(dtmNowDate) & "-" & Month(dtmNowDate) & "-" & Day(dtmNowDate)DO While file1.AtEndOfStream <> True'读出每行line = file1.ReadLine'分离每行的参数设备名称、IP地址、用户名、密码,然后创建设备名称为名的txt文本,作为配置记录文件params = Split(line)crt.session.LogFileName = "E:\配置备份\" & dtmNowDate & "\"& params(1) &".txt"call crt.session.Log(False)call crt.session.Log(True) '开启日志crt.Screen.Synchronous = True '开启屏幕同步2.判断设备类型H3C,并开始备份配置(这里主要进行三种设备备份:H3C、Juniper、Cisco)'首先Telnet到这个设备上,params(2)为文件中提取的设备IPcrt.Session.Connect "/TELNET " & params(2)'H3C设备的配置备份If params(0) = "h3c" Then'自动输入telnet用户名crt.Screen.WaitForString "Username:"crt.Screen.Send params(3) & vbcr'自动输入telnet密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(4) & vbcr'收集设备运行信息str1 = "display environment"crt.Screen.Send str1 & vbcr'收集版本信息str2 = "display version"crt.Screen.Send str2 & vbcr'备份h3c配置str3 = "dis cu"crt.Screen.Send str3 & vbcrcrt.Screen.WaitForString "More"crt.Screen.Send " " & vbcr'备份完成后退出crt.Screen.waitForString "return"crt.Session.Disconnect()end if2.判断设备类型Juniper,并开始备份配置If params(0) = "juniper" Then'自动输入telnet密码crt.Screen.WaitForString "login:"crt.Screen.Send params(3) & vbcr'自动输入telnet密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(4) & vbcr'收集设备运行信息str1 = "show chassis environment"crt.Screen.Send str1 & vbcr'收集版本信息str2 = "show version"crt.Screen.Send str2 & vbcr'备份juniper配置str3 = "show configuration | display set"crt.Screen.Send str3 & vbcrcrt.Screen.WaitForString "more"crt.Screen.Send "" & vbcr'备份完成后退出crt.Screen.waitForString ">"crt.Session.Disconnect()end if3.判断设备类型Cisco,并开始备份配置'Cisco设备的配置备份If params(0) = "cisco" Then'输入telnet用户名crt.Screen.WaitForString "Username:"crt.Screen.Send params(3) & vbcr'输入telnet密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(4) & vbcr'备份juniper配置str1 = "show run"crt.Screen.Send str1 & vbcr'crt.Screen.WaitForString "more"crt.Screen.Send "" & vbcr'备份完成后退出crt.Screen.waitForString "end"crt.Session.Disconnect()end ifloopCall crt.Session.Log(False)crt.Screen.Synchronous = FalseEnd Sub四、设备IP列表SWIP.txt里面有要备份配置的设备类型、名称、IP、用户名、密码,如下示例类型名称IP 用户名密码juniper 9F-01 10.10.1.1 admin admin123h3c 9F-02 10.10.1.2 admin admin123五、swbackup.log备份日志文件从“配置备份.bat ”里产生的备份记录会重定向输出到此文件中结果如下:============================================备份开始时间:2017-9-01 01:14:20备份完成时间:2017-9-01 01:14:28设备数量:40当前备份数量:40备份目录:E:\配置备份\2017-9-01============================================六、“配置备份.bat ”执行结果展示。
傻瓜操作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和华为交换机都可以通过这个方法自动备份,傻瓜操作,无需脚本。
利用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\备份这个文件夹里面都是备份的内容了。
华为交换机和思科交换机生成树协议对接替换方案
华为交换机和思科交换机⽣成树协议对接替换⽅案对接替换⽅案概述当前对接替换⽅案主要有三种:华为交换机透传PVST报⽂,思科交换机⾃⼰协商破环。
华为交换机通过VBST与思科交换机PVST/PVST+/Rapid PVST+对接。
华为交换机MSTP与思科交换机MST对接。
适⽤型态及版本华为交换机所有产品及版本都⽀持MSTP,V200R005及以后版本⽀持VBST。
互通性分析华为交换机VBST和思科交换机PVST/PVST+/Rapid PVST+的互通,协议报⽂处理原理⼀致,可以互相识别,且均使⽤保留的组播MAC地址01-00-0C-CC-CC-CD。
因此,华为交换机VBST与思科交换机PVST/PVST+/Rapid PVST+互通时,就如同华为交换机VBST跟⾃⾝互通⼀样。
华为交换机MSTP同思科交换机MST互通,除了当域摘要信息格式不⼀致时,要使能摘要侦听功能。
其他原理同思科交换机⼀致。
华为交换机STP/RSTP和思科PVST+/Rapid PVST+的互通,由于思科交换机PVST+/Rapid PVST+在发送PVST报⽂的同时,也发送STP/RSTP与对端进⾏协商,所以它们的互通从技术上是可以实现的。
但是华为交换机STP/RSTP的收敛是基于端⼝的,⽽思科交换机PVST+/Rapid PVST+的收敛是基于VLAN的,最终的收敛结果可以分为两类:阻塞端⼝在华为交换机上,华为交换机STP/RSTP是基于端⼝阻塞的,所有的数据报⽂(不区分VLAN)在阻塞端⼝都会被丢弃,包括思科的PVST报⽂,所以对于任意VLAN该端⼝都处于阻塞状态。
阻塞端⼝在思科交换机上,思科交换机PVST+/Rapid PVST+只在VLAN1内发送标准的STP/RSTP协议与对端协商。
所以在这种情况下,阻塞端⼝只会阻塞VLAN1,其它VLAN的PVST报⽂通过该端⼝正常处理并转发,并在其所在VLAN内进⾏计算收敛。
由于华为交换机STP/RSTP不处理PVST报⽂,所以其它VLAN内的阻塞端⼝只会出现在思科交换机上。
基于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批量备份不同型号交换机说明及脚本配置
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。
SecureCRT登录对多台H3C设备进行配置自动备份
版权说明Copyright ©2006-2007 杭州华三通信技术有限公司及其许可者 版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何形式传播。
H3C 、、Aolynk 、、H 3Care 、、TOP G 、、IRF 、NetPilot 、Neocean 、NeoVTL 、SecPro 、SecPoint 、SecEngine 、SecPath 、Comware 、Secware 、Storware 、NQA 、VVG 、V 2G 、V n G 、PSPT 、XGbus 、N-Bus 、TiGem 、InnoVision 、HUASAN 、华三均为杭州华三通信技术有限公司的商标。
对于本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
保密承诺本次服务中获取客户的保密信息仅用于H3C 公司向客户交付涉及H3C 解决方案与产品服务(网络规划、设计、实施、运维、优化)。
未经客户同意,H3C 公司承诺对保密信息不用于其他与客户服务无关的用途,不向任何与客户服务无关的第三方披露。
Any Confidential Information acquired in service will be used by H3C for the solely purpose of providing solutions and products service (networkarchitecture, design, execute, running and maintenance, and optimization). Without the consent of customer, H3C shall not use the ConfidentialInformation in any way that is not related to Customer’s service, or disclose to any third party that is not relevant to Customer’s service.杭州华三通信技术有限公司Un Re gi st er ed使用SecureCRT 登录对多台H3C 设备进行配置自动备份版本建议:SecureCRT 版本用6.2以上版本 使用范围:该文档适用于H3C 网络设备一、 对于采用用户名-密码或用户名-密码-超级密码的情形。
使用 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 文件夹,用于保存配置文件。
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导出华为,思科设备配置
华为,思科的网络设备配置,是需要经常备份,以防特殊情况丢失。
下面是店铺收集整理的如何使用Secure CRT 导出华为,思科设备配置,希望对大家有帮助~~
使用Secure CRT 导出华为,思科设备配置的方法
工具/原料
Secure CRT
方法/步骤
为了方便举例,使用一台装有 LINUX 的机器说明
连接上设备进入就要看设备配置的地方,可以先输入命令,但是不要按回车
点击文件--会话日志
不要选择原始回话日志,这样会把你输入的空格和显示出来的类似“press any key to continue" 或者 --More-- 也放进去,这样就不美观,而且段落不连贯看起也费劲
选择保存日志的名字和路径,通常日志的扩展名都是 .log, 这个暂时不要改,你可以之后改成TXT,或是其它文档格式。
点击保存
现在开始输入查看配置的命令,华为,H3C简写为dis cu ,思科为 sh run
因为有的配置很长,所以要不停的敲击空格键,直至出现提示符完毕
现在就不要输其它命令了,现在取消会话日志选项
到刚才保存路径查看下刚才保存的配置,在Secure CRT下会分段的地方,不粗现分段了,也没有--MORE-- 提示,和按了空格的提示
如何使用Secure CRT 导出华为,思科设备配置。
使用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工具常用到的几个函数阐述如下:在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。
华为交换机(LANSWITCH)连接方法
一、首先将电脑连接交换机C ONSOLE口,这里介绍终端仿真程序secureCRT使用方法
1、电脑安装secureCRT(或是使用电脑自带的超级终端),在secureCRT建一个新的连接(文
件——快速连接),详细配置如下图:
协议选择Serial
端口COM,需要与电脑配置同一个COM口
波特率:9600,其他参数默认
2、配置电脑的COM1。
我的电脑——属性——设备管理器——端口——端口属性(务必将
电脑的端口与secureCRT配置的端口保持一致,否则无法连接)
3、
如果左上角变绿,说明连接成功。
4、华为交换机指令:
dis cu 查看全局配置
sys 进入配置模式
int GigabitEthernet1/0/4 进入交换机端口1/0/4
dis th 查看端口的配置
shutdown 闭掉该端口
undo shutdown 解闭端口
如下:
[SDZOZ-MC-CMNET-SW10-S9312-ZXL2]int gi 1/0/4
[SDZOZ-MC-CMNET-SW10-S9312-ZXL2-GigabitEthernet1/0/4]dis th
#
interface GigabitEthernet1/0/4
undo negotiation auto
description TO-[BeiEr]-PTN-GongYingCangKu
eth-trunk 3
carrier down-hold-time 200
#
return
[SDZOZ-MC-CMNET-SW10-S9312-ZXL2-GigabitEthernet1/0/4]。
华为交换机(LANSWITCH)连接方法
一、首先将电脑连接交换机C ONSOLE口,这里介绍终端仿真程序secureCRT使用方法
1、电脑安装secureCRT(或是使用电脑自带的超级终端),在secureCRT建一个新的连接(文
件——快速连接),详细配置如下图:
协议选择Serial
端口COM,需要与电脑配置同一个COM口
波特率:9600,其他参数默认
2、配置电脑的COM1。
我的电脑——属性——设备管理器——端口——端口属性(务必将
电脑的端口与secureCRT配置的端口保持一致,否则无法连接)
3、
如果左上角变绿,说明连接成功。
4、华为交换机指令:
dis cu 查看全局配置
sys 进入配置模式
int GigabitEthernet1/0/4 进入交换机端口1/0/4
dis th 查看端口的配置
shutdown 闭掉该端口
undo shutdown 解闭端口
如下:
[SDZOZ-MC-CMNET-SW10-S9312-ZXL2]int gi 1/0/4
[SDZOZ-MC-CMNET-SW10-S9312-ZXL2-GigabitEthernet1/0/4]dis th
#
interface GigabitEthernet1/0/4
undo negotiation auto
description TO-[BeiEr]-PTN-GongYingCangKu
eth-trunk 3
carrier down-hold-time 200
#
return
[SDZOZ-MC-CMNET-SW10-S9312-ZXL2-GigabitEthernet1/0/4]。
- 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 "AA"
crt.sleep 2000
crt.Screen.Send "BB" & VbCr
crt.sleep 2000
crt.Screen.Send "CC" & VbCr
End Sub
将以上脚本文件保存在TXT记事本里,保存vbs格式。
注:
脚本中AA需根据实际情况输入命令,crt.Screen.WaitForString这段是指当出现什么命令时
BB和CC根据实际情况输入自已的命令
1-2
接下来就是选择保存的日志--------点击日志文件------取个交换机名保存即可,在连接上启动记录这里要打个勾。
如图
1-3
1-3
OK,这样就可以了,以后双击交换机连接,自动运行命令,里面的内容自动保存,不管是CISCO和华为交换机都可以通过这个方法自动备份,傻瓜操作,无需脚本。