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
    +关注

    关注

    57

    文章

    4860

    浏览量

    89661
  • 脚本
    +关注

    关注

    1

    文章

    407

    浏览量

    29084
  • SecureCRT
    +关注

    关注

    0

    文章

    27

    浏览量

    8416

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于Python脚本的R语言的函数

    本文介绍了采用创建一个Python脚本脚本模仿R风格的函数的方法来方便地进行统计。 是R语言还是
    的头像 发表于 10-12 09:33 2583次阅读
    基于<b class='flag-5'>Python</b><b class='flag-5'>脚本</b>的R语言的函数

    SecureCRT连接串口却没有登录Ubuntu界面

    SecureCRT连接串口成功后界面只显示光标没有Ubuntu的登陆界面显示。我的是WSL2和Ubuntu 18.04,想连接调试串口,上位机使用CRT登录(115200-8-N-
    发表于 11-06 21:16

    各类网络设备

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

    Linux常用网络设备

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

    详细Python网络爬虫

    详细Python网络爬虫
    发表于 09-07 08:40 32次下载
    详细<b class='flag-5'>用</b><b class='flag-5'>Python</b><b class='flag-5'>写</b><b class='flag-5'>网络</b>爬虫

    securecrt怎么使用!securecrt使用教程

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

    Python网络爬虫

    Python网络爬虫的方法说明。
    发表于 06-01 11:55 21次下载

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

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

    python练手小程序

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

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

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

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

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

    Flet+Python写个美观的登录程序

    本教程Flet+Python创建了现代登录表单。可以让大家一窥Python在Flet的加持下能有怎样的发挥。其中的字段阴影、动画和状态控制……都使UI和UX更具吸引力。
    的头像 发表于 05-31 15:43 8611次阅读
    <b class='flag-5'>用</b>Flet+<b class='flag-5'>Python</b>写个美观的<b class='flag-5'>登录</b>程序

    python验证环境cocotb

    本文介绍了cocotb的安装、python tb文件的写法、xrun仿真cocotb的脚本等,我们来看看体验如何。
    的头像 发表于 07-24 09:38 1405次阅读
    <b class='flag-5'>用</b><b class='flag-5'>python</b><b class='flag-5'>写</b>验证环境cocotb

    使用Python批量连接华为网络设备

    随着网络规模的扩大和设备数量的增加,手动配置和管理每台网络设备变得越来越不现实。因此,自动化工具和脚本变得尤为重要。Python语言以其简洁
    的头像 发表于 08-12 17:48 1293次阅读

    利用Python脚本登录到交换机并创建VLAN

    本文将详细介绍如何利用Python脚本登录到交换机并创建VLAN。
    的头像 发表于 08-12 17:59 1380次阅读