SecureCRT脚本

加载.py脚本文件
在这里插入图片描述

import os
import time
import re
import random
ping="on"
scan="on1"
check="off"
ping_start=4
ping_end=6
ping_cycle=1
test_count=10000
def lll_2G4():
   j=0
   ret=2

   for i in range(test_count):     
       SSID_PASSWORD=[
           
            
            "LYQ 123456 unhidden 192.168.2.1",
         
       
            ]        
       if ret==1: #1 随机选择SSID
           SP=random.choice(SSID_PASSWORD)
           ssid=str(SP).split( )[0]
           password=str(SP).split( )[1]
           hd=str(SP).split( )[2]
           ip_net=str(SP).split( )[3]
       else:  #按列表顺序选择连接         
           SP=SSID_PASSWORD[j]
           ssid=str(SP).split( )[0]
           password=str(SP).split( )[1]
           hd=str(SP).split( )[2]
           ip_net=str(SP).split( )[3]
           j=j+1
           if j>=len(SSID_PASSWORD):
              j=0
       time.sleep(1)
       if check=="on":
               crt.Screen.Send("check"+ "\r\n") 
               crt.Sleep(2000)
       if scan=="on":
           crt.Sleep(2000)
           crt.Screen.Send("scan SSID="+ssid +"\r\n")
           # crt.Screen.Send("scan "+ssid +"\r\n")
           time.sleep(3)
       if len(password)<8:
            crt.Screen.Send("con "+ssid+" "+"\""+"\""+" "+hd+ "\r\n")    
       else:
           crt.Screen.Send("con "+ssid+" "+ password+" "+hd+ "\r\n")    
              
       ret=crt.Screen.WaitForStrings(["connect to "+ssid+" success"," channel=","connect to "+ssid+" failed"])
       if ret==1 or ret==2:
           crt.Sleep(1500)
           if check=="on":
               crt.Screen.Send("check"+ "\r\n") 
               crt.Sleep(2000)
           if ping=="on":
               for i in range(ping_cycle):
                   ret=random.randint(ping_start,ping_end)   
                   s=ret+2
                   crt.Screen.Send("ping "+ip_net+" "+ str(ret)+ "\r\n") 
                   time.sleep(s)
           # for m in range(5):
               # crt.Screen.Send("ifconfig\r\n")
 
               # if crt.Screen.WaitForStrings(["inet 192.168"],5):
                    # break
               
           crt.Screen.Send("reset" + "\r\n")          
           ret2=crt.Screen.WaitForStrings(["do_reset OK","do_disconn OK"],10)
           if ret2 !=0:
               crt.Sleep(4000)
           else:
                crt.Screen.Send("reset" + "\r\n")
                crt.Sleep(4000)
       elif ret==3:
            continue
            # crt.Sleep(1000)
       else:
                crt.Screen.Send("reset" + "\r\n")
                crt.Sleep(4000)
  # $language = "python"
# $interface = "1.0"



lll_2G4()
### 编写和使用 SecureCRT 自动化脚本 #### 脚本编写环境设置 为了在 SecureCRT 中创建自动化脚本,需先确保已安装 Python 或 VBScript 解释器。SecureCRT 支持多种编程语言用于脚本开发,其中最常用的是 Python 和 VBS[^1]。 #### 创建新脚本文件 启动 SecureCRT 后,在菜单栏选择 `File` -> `New Script...` 来新建一个脚本文档。此时可以选择所使用的脚本语言并保存该文件至合适位置以便后续调用[^2]。 #### 录制基础脚本 对于初学者来说,可以通过录制功能快速获取基本框架。进入 `Session Options` 的 `Terminal` 页面开启宏记录选项后执行一系列操作;结束后关闭此选项即完成了一次简单的动作捕捉过程。这样做的好处是可以直观了解每一步对应的命令语句。 #### 修改和完善脚本逻辑 基于上述获得的基础模板进一步调整优化以满足特定需求。比如自动输入用户名密码实现免密登录、批量下发配置指令等复杂场景下的应用扩展。下面给出一段Python版本的简单示例代码来展示如何连接远程服务器: ```python import securecrt_api as crt def main(): session = crt.Session() hostname = "example.com" username = "admin" password = "password" try: # 尝试建立会话连接 session.Connect("/SSH2 /L {} {}".format(username, hostname)) # 等待提示符出现后再发送密码 if not session.WaitForString("Password:", timeout=5): raise Exception("Failed to receive password prompt.") session.Send(password + "\n") # 执行其他命令... finally: # 断开当前会话 session.Disconnect() main() ``` 这段代码展示了怎样利用 SecureCRT 提供的功能库来进行 SSH 连接以及交互处理。 #### 测试运行效果 编辑完成后可通过点击工具栏上的播放按钮立即测试编写的脚本是否能够正常工作。如果遇到错误则返回上一步继续调试直至成功为止[^3]。 #### 应用部署分享 当确认无误之后还可以考虑将成品打包成可分发的形式给团队成员或者其他使用者提供便利。此外也可以上传到官方论坛交流心得经验共同进步成长。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值