SecureCRT使用vbs和python脚本批量执行
SecureCRT 工具是非常牛逼的,通过该工具也可以执行一些自动化任务的处理(与之前写的 《SecureCRT批量操作》 不是同一类型的自动化),比如自动连接服务器并执行相应的内应,将执行结果输出到文本或excel ,自动读取文件内的指令并执行等等,之前的老版本SecureCRT支持的脚本语言是vbs(自动录制的输出也是vbs),在新版本的SecureCRT中增加了对python语言的支持。这里就结果这两种语言,实现自动化在一台跳板机上对多台主机进行批量化的telnet某端口的测试处理。
一、需求
有一个IP列表文件,里面是一些无序列IP,如下:
110.211.57.56
210.211.57.57
3200.200.3.52
410.211.57.134
510.211.57.140
6200.200.3.51
现需要实现通过读取该文本内的相关IP,再自动化的通过zabbix用户(已通过sshzabbix命令实现自动化登陆)登陆,登陆后执行telnet进行端口测试。测试完成后,执行quit返回即可。
二、vbs实现
1#$language = "VBScript"
2#$interface = "1.0"
3crt.Screen.Synchronous = True
4' from www.361way.com <[email protected]>
5' 根据IP逐台实现ssh登陆,telnet端口测试后,再退回原来的界面,并退出登陆
6Sub Main
7 Dim fso
8 Set fso = CreateObject("Scripting.FileSystemObject")
9 'Dim inputFile
10 Set inputFile = fso.OpenTextFile("ip.txt")
11 Do While inputFile.AtEndOfStream <> True
12 ipadr = inputFile.ReadLine
13 crt.Screen.Send "sshzabbix " & ipadr & chr(13)
14 crt.Screen.WaitForString "zabbix"
15 crt.Screen.Send "telnet 172.20.21.1 10100" & chr(13)
16 crt.Screen.WaitForString "Escape"
17 crt.Screen.Send "quit" & chr(13)
18 crt.Screen.WaitForString "zabbix"
19 crt.Screen.Send chr(4)
20 crt.Screen.WaitForString "#"
21 'crt.Sleep 5
22 Loop
23End Sub
vbs实现的SecureCRT更多功能可以参考如下页面:
vbsedit scripts(只参看代码,无需下载该工具,该工具并不十分好用)
三、python实现
1# $language = "Python"
2# $interface = "1.0"
3# code from www.361way.com <[email protected]>
4# 多台主机自动化telnet端口测试
5def main():
6 with open('ip.txt', 'r') as f:
7 for ipadr in f.readlines():
8 crt.Screen.Send("sshzabbix " + ipadr + "\n")
9 crt.Screen.WaitForString("zabbix")
10 crt.Screen.Send("telnet 172.20.21.1 10100 \n")
11 crt.Screen.WaitForString("Escape")
12 crt.Screen.Send("quit \n" )
13 crt.Screen.WaitForString("zabbix")
14 crt.Screen.Send("exit \n")
15 crt.Screen.WaitForString("#")
16main()
从上面可以看出,使用python代码更清晰一些。不过遗憾的是,目前脚本录制还不支持python,只支持vbs 。
更多python脚本玩法也可以参考官方文档。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/securecrt-vbs-python/5912.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.