0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用Python写SecureCRT批量登录/巡检网络设备脚本

网络技术干货圈 来源:网络技术干货圈 2022-12-28 09:32 次阅读

前言

因为有约200台的网络设备需要每天登录巡检、查看配置、保存配置、定期更改密码(每周改一次),如果都手动去登录、配置将是非常耗费时间和人力的,所以就有了整理出脚本的想法。查看了网上大多是VBS编写的脚本,我对VBS不熟悉,刚好前段时间初步学习了Python,就想用Python整理一些自己需要的脚本。

提示:以下是本篇文章正文内容,下面案例可供参考

一、脚本主要功能

自动的逐台登录设备,并执行相关命令;

记录屏幕输出并保存到TXT文件中,将TXT文件以设备名、设备IP、时间命名。

二、脚本示例

#$language="python"
#$interface="1.0"
importtime
importos
importcsv

user='admin'
passwd='huawei@123'
#定义一个变量,名为current_time,把当前PC的时间格式化后赋值给该变量
current_time=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))


defmain():
#设置CRT的屏幕同步属性为False。具体作用自行百度。
crt.Screen.Synchronous=False
#通过withopen打开ip.txt文件,获取文件中的所有IP地址。txt文件中一个IP占用一行。
withopen('ip.txt','r')asrfile:
host_list=rfile.readlines()
forhostinhost_list:
#由于readlines()方法在获取txt中的IP时,会把换行符读取出来,赋值给host_list变量时IP地址后边跟了“
”导致CRT无法读取争取的IP,所以使用split()方法分割字符串,获取正确的IP地址信息。
cmd='/SSH2/L%s/PASSWORD%s/C3DES/MMD5%s'%(user,passwd1,host.split()[0])
crt.Session.ConnectInTab(cmd)
time.sleep(1)
crt.Screen.Send('
')
crt.Screen.Send('
')
crt.Screen.WaitForString('>')
#把log_name()函数的值赋给current_name这个变量。
current_name=log_name()
time.sleep(1)
#给txt文件命名。
crt.Session.LogFileName=current_name+"_"+host.split()[0]+"_"+current_time+"_log.txt"
crt.Session.Log(True)
time.sleep(1)
crt.Screen.Send('
')
crt.Screen.WaitForString('>')
crt.Screen.Send('displaycur
')
#因为会有很多遇到more的情况,而我们又无法确定要输入几次空格,所以通过while循环中的条件判断,实现不同情况的处理。
whileTrue:
crt.Screen.WaitForStrings(["----More----",'')
time.sleep(1)
crt.Screen.Send('
')
break
crt.Screen.Send('
')
crt.Screen.Send('
')
crt.Screen.WaitForString('>')
crt.Screen.Send('displayipinterbrie
')
crt.Screen.Send('
')
crt.Screen.Send('
')
crt.Screen.WaitForString('>')
crt.Screen.Send('quit
')
time.sleep(3)


deflog_name():
#定义一个还书获取屏幕当前设备名称
rowIndex=crt.Screen.CurrentRow
colindex=crt.Screen.CurrentColumn-1
chushi_name=crt.Screen.Get(rowIndex,1,rowIndex,colindex)
name=chushi_name.strip('<>')
returnname


main()

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4669

    浏览量

    83457
  • 脚本
    +关注

    关注

    1

    文章

    372

    浏览量

    14628
  • SecureCRT
    +关注

    关注

    0

    文章

    20

    浏览量

    7876

原文标题:用Python写SecureCRT批量登录/巡检网络设备脚本

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    外网访问家里的网络设备

    网络设备
    学习电子知识
    发布于 :2023年07月17日 20:06:18

    网络设备选择技巧

    1.硬件要兼容  在网络设备选择上,尽量使所有网络设备都采用一家公司的产品,这样可以最大限度地减少高端与低端甚至是同等级别不同设备间的不兼容问题。而且不要为了省几十块钱而选择没有质量保证的网络
    发表于 04-08 09:34

    各类网络设备

    ` 网络设备,锐捷,艾泰,D-link,华为,H3C,思科,韩电,安普`
    发表于 11-29 11:15

    Linux常用网络设备

    网络设备是计算机体系结构中必不可少的一部分,处理器如果想与外界通信,通常都会选择网络设备作为通信接口。众所周知,在 OSI(Open Systems Interconnection,开放网际互连)中,网络被划分为七个层次,从下到
    发表于 07-25 07:37

    python一个建模的脚本-微带天线的模型建立与仿真的过程搞定了

    大多数联合仿真的脚本都是使用的Matlab进行编程,网上也有不少现成的api,因为对python比较熟悉,且python除了数值计算其他的功能也相当强大,并且免费开源,于是决定
    发表于 02-19 16:51

    如何解决高速网络设备中电线太多的问题?

    如何解决高速网络设备中电线太多的问题?
    发表于 05-18 06:57

    网络设备监管系统的设计与实现

    网络设备监管是指对IP 网络中的关键设备进行实时监控和管理,使网络管理员对网络设备的使用情况有更为深入的了解。在研究分析
    发表于 06-23 13:33 24次下载

    家用网络设备简介

    家用网络设备简介 就在几年前,家用网络设备还相当简单。使用一根直连电缆、一部网络集线器或以太网路由器,您可以将两部或多部计算机连接在一起,共享外设、
    发表于 08-05 10:26 999次阅读

    网络设备选择技巧

      1.硬件要兼容   在网络设备选择上,尽量使所有网络设备都采用一家公司的产品,这样可以最大限度地减少高端与低端甚至是同等级别不同设备间的不兼容问题。而
    发表于 12-27 10:57 1288次阅读

    securecrt怎么使用!securecrt使用教程

     SecureCRT网络工作者必备的一款软件,它的用途非常大,它可以在Windows系统下登录Linux服务器主机,因此有很多人会下载安装它,但是却不知道怎么用,那么SecureCRT
    发表于 11-12 10:29 4.2w次阅读
    <b class='flag-5'>securecrt</b>怎么使用!<b class='flag-5'>securecrt</b>使用教程

    利用python脚本批量登录网络设备修改配置

    按照下图,在ensp模拟器上搭建环境,为了演示批量修改设备,龙哥这里实验4台路由器,当然了,如果你电脑性能足够牛逼,你也可以多用几台路由器咯!然后标注好IP地址。
    的头像 发表于 10-19 09:12 1268次阅读

    Python网络设备巡检(异常自动报警)

    python抓取交换机的信息。
    的头像 发表于 12-29 09:09 2305次阅读

    python练手小程序

    如果管理网络设备很多,不可能靠人力每天去登录设备去查看是否在线。所以,可以利用python脚本通过每天扫描
    的头像 发表于 01-09 09:49 420次阅读

    如何通过Python脚本批量采集华为交换机配置

    通过学习python网络运维自动化减少重复无意义的工作量,本次实验虽然只是一条命令,通过display current-configuration采集设备配置,但是在有大量设备需要采集
    的头像 发表于 01-09 10:32 3406次阅读

    如何使用Python通过SNMP监控网络设备

    前段时间,为了实现自动化巡检,我开发了自动化巡检工具,由于我的系统设备版本比较多,所以我是分别开发的客户端程序,服务端使用dll文件与客户端通信,服务端的dll在与python通信,通
    的头像 发表于 01-09 10:38 920次阅读