0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用Python寫SecureCRT批量登錄/巡檢網(wǎng)絡(luò)設(shè)備腳本

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2022-12-28 09:32 ? 次閱讀

前言

因為有約200臺的網(wǎng)絡(luò)設(shè)備需要每天登錄巡檢、查看配置、保存配置、定期更改密碼(每周改一次),如果都手動去登錄、配置將是非常耗費時間和人力的,所以就有了整理出腳本的想法。查看了網(wǎng)上大多是VBS編寫的腳本,我對VBS不熟悉,剛好前段時間初步學(xué)習(xí)了Python,就想用Python整理一些自己需要的腳本。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、腳本主要功能

自動的逐臺登錄設(shè)備,并執(zhí)行相關(guān)命令;

記錄屏幕輸出并保存到TXT文件中,將TXT文件以設(shè)備名、設(shè)備IP、時間命名。

二、腳本示例

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

user='admin'
passwd='huawei@123'
#定義一個變量,名為current_time,把當(dāng)前PC的時間格式化后賦值給該變量
current_time=time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))


defmain():
#設(shè)置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地址后邊跟了“
”導(dǎo)致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()函數(shù)的值賦給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循環(huán)中的條件判斷,實現(xiàn)不同情況的處理。
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():
#定義一個還書獲取屏幕當(dāng)前設(shè)備名稱
rowIndex=crt.Screen.CurrentRow
colindex=crt.Screen.CurrentColumn-1
chushi_name=crt.Screen.Get(rowIndex,1,rowIndex,colindex)
name=chushi_name.strip('<>')
returnname


main()

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4758

    瀏覽量

    84289
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    14793
  • SecureCRT
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    7900

原文標(biāo)題:用Python寫SecureCRT批量登錄/巡檢網(wǎng)絡(luò)設(shè)備腳本

文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于Python腳本的R語言的函數(shù)

    本文介紹了采用創(chuàng)建一個Python腳本腳本模仿R風(fēng)格的函數(shù)的方法來方便地進行統(tǒng)計。 是R語言還是
    的頭像 發(fā)表于 10-12 09:33 ?2048次閱讀
    基于<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>的R語言的函數(shù)

    各類網(wǎng)絡(luò)設(shè)備

    ` 網(wǎng)絡(luò)設(shè)備,銳捷,艾泰,D-link,華為,H3C,思科,韓電,安普`
    發(fā)表于 11-29 11:15

    Linux常用網(wǎng)絡(luò)設(shè)備

    網(wǎng)絡(luò)設(shè)備是計算機體系結(jié)構(gòu)中必不可少的一部分,處理器如果想與外界通信,通常都會選擇網(wǎng)絡(luò)設(shè)備作為通信接口。眾所周知,在 OSI(Open Systems Interconnection,開放網(wǎng)際互連)中,網(wǎng)絡(luò)被劃分為七個層次,從下到
    發(fā)表于 07-25 07:37

    詳細Python網(wǎng)絡(luò)爬蟲

    詳細Python網(wǎng)絡(luò)爬蟲
    發(fā)表于 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'>網(wǎng)絡(luò)</b>爬蟲

    securecrt怎么使用!securecrt使用教程

     SecureCRT網(wǎng)絡(luò)工作者必備的一款軟件,它的用途非常大,它可以在Windows系統(tǒng)下登錄Linux服務(wù)器主機,因此有很多人會下載安裝它,但是卻不知道怎么,那么
    發(fā)表于 11-12 10:29 ?4.3w次閱讀
    <b class='flag-5'>securecrt</b>怎么使用!<b class='flag-5'>securecrt</b>使用教程

    Python網(wǎng)絡(luò)爬蟲

    Python網(wǎng)絡(luò)爬蟲的方法說明。
    發(fā)表于 06-01 11:55 ?21次下載

    利用python腳本批量登錄網(wǎng)絡(luò)設(shè)備修改配置

    按照下圖,在ensp模擬器上搭建環(huán)境,為了演示批量修改設(shè)備,龍哥這里實驗4臺路由器,當(dāng)然了,如果你電腦性能足夠牛逼,你也可以多用幾臺路由器咯!然后標(biāo)注好IP地址。
    的頭像 發(fā)表于 10-19 09:12 ?1513次閱讀

    Python網(wǎng)絡(luò)設(shè)備巡檢(異常自動報警)

    python抓取交換機的信息。
    的頭像 發(fā)表于 12-29 09:09 ?2910次閱讀

    python練手小程序

    如果管理網(wǎng)絡(luò)設(shè)備很多,不可能靠人力每天去登錄設(shè)備去查看是否在線。所以,可以利用python腳本通過每天掃描
    的頭像 發(fā)表于 01-09 09:49 ?541次閱讀

    如何通過Python腳本批量采集華為交換機配置

    通過學(xué)習(xí)python網(wǎng)絡(luò)運維自動化減少重復(fù)無意義的工作量,本次實驗雖然只是一條命令,通過display current-configuration采集設(shè)備配置,但是在有大量設(shè)備需要采集
    的頭像 發(fā)表于 01-09 10:32 ?4585次閱讀

    如何使用Python通過SNMP監(jiān)控網(wǎng)絡(luò)設(shè)備?

    前段時間,為了實現(xiàn)自動化巡檢,我開發(fā)了自動化巡檢工具,由于我的系統(tǒng)設(shè)備版本比較多,所以我是分別開發(fā)的客戶端程序,服務(wù)端使用dll文件與客戶端通信,服務(wù)端的dll在與python通信,通
    的頭像 發(fā)表于 01-09 10:38 ?1191次閱讀

    Flet+Python寫個美觀的登錄程序

    本教程Flet+Python創(chuàng)建了現(xiàn)代登錄表單。可以讓大家一窺Python在Flet的加持下能有怎樣的發(fā)揮。其中的字段陰影、動畫和狀態(tài)控制……都使UI和UX更具吸引力。
    的頭像 發(fā)表于 05-31 15:43 ?5165次閱讀
    <b class='flag-5'>用</b>Flet+<b class='flag-5'>Python</b>寫個美觀的<b class='flag-5'>登錄</b>程序

    python驗證環(huán)境cocotb

    本文介紹了cocotb的安裝、python tb文件的寫法、xrun仿真cocotb的腳本等,我們來看看體驗如何。
    的頭像 發(fā)表于 07-24 09:38 ?394次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>python</b><b class='flag-5'>寫</b>驗證環(huán)境cocotb

    使用Python批量連接華為網(wǎng)絡(luò)設(shè)備

    隨著網(wǎng)絡(luò)規(guī)模的擴大和設(shè)備數(shù)量的增加,手動配置和管理每臺網(wǎng)絡(luò)設(shè)備變得越來越不現(xiàn)實。因此,自動化工具和腳本變得尤為重要。Python語言以其簡潔
    的頭像 發(fā)表于 08-12 17:48 ?342次閱讀

    利用Python腳本登錄到交換機并創(chuàng)建VLAN

    本文將詳細介紹如何利用Python腳本登錄到交換機并創(chuàng)建VLAN。
    的頭像 發(fā)表于 08-12 17:59 ?433次閱讀