前言
因為有約200臺的網絡設備需要每天登錄巡檢、查看配置、保存配置、定期更改密碼(每周改一次),如果都手動去登錄、配置將是非常耗費時間和人力的,所以就有了整理出腳本的想法。查看了網上大多是VBS編寫的腳本,我對VBS不熟悉,剛好前段時間初步學習了Python,就想用Python整理一些自己需要的腳本。
提示:以下是本篇文章正文內容,下面案例可供參考
一、腳本主要功能
自動的逐臺登錄設備,并執(zhí)行相關命令;
記錄屏幕輸出并保存到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循環(huá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(): #定義一個還書獲取屏幕當前設備名稱 rowIndex=crt.Screen.CurrentRow colindex=crt.Screen.CurrentColumn-1 chushi_name=crt.Screen.Get(rowIndex,1,rowIndex,colindex) name=chushi_name.strip('<>') returnname main()
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。
舉報投訴
-
python
+關注
關注
56文章
4782瀏覽量
84450 -
腳本
+關注
關注
1文章
387瀏覽量
14831 -
SecureCRT
+關注
關注
0文章
20瀏覽量
7910
原文標題:用Python寫SecureCRT批量登錄/巡檢網絡設備腳本
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
用SecureCRT連接串口卻沒有登錄Ubuntu界面
用SecureCRT連接串口成功后界面只顯示光標沒有Ubuntu的登陸界面顯示。我用的是WSL2和Ubuntu 18.04,想連接調試串口,上位機使用CRT登錄(115200-8-N-
發(fā)表于 11-06 21:16
Linux常用網絡設備
網絡設備是計算機體系結構中必不可少的一部分,處理器如果想與外界通信,通常都會選擇網絡設備作為通信接口。眾所周知,在 OSI(Open Systems Interconnection,開放網際互連)中,網絡被劃分為七個層次,從下到
發(fā)表于 07-25 07:37
securecrt怎么使用!securecrt使用教程
SecureCRT是網絡工作者必備的一款軟件,它的用途非常大,它可以在Windows系統(tǒng)下登錄Linux服務器主機,因此有很多人會下載安裝它,但是卻不知道怎么用,那么
發(fā)表于 11-12 10:29
?4.3w次閱讀
利用python腳本批量登錄網絡設備修改配置
按照下圖,在ensp模擬器上搭建環(huán)境,為了演示批量修改設備,龍哥這里實驗4臺路由器,當然了,如果你電腦性能足夠牛逼,你也可以多用幾臺路由器咯!然后標注好IP地址。
如何通過Python腳本批量采集華為交換機配置
通過學習python網絡運維自動化減少重復無意義的工作量,本次實驗雖然只是一條命令,通過display current-configuration采集設備配置,但是在有大量設備需要采集
如何使用Python通過SNMP監(jiān)控網絡設備?
前段時間,為了實現自動化巡檢,我開發(fā)了自動化巡檢工具,由于我的系統(tǒng)設備版本比較多,所以我是分別開發(fā)的客戶端程序,服務端使用dll文件與客戶端通信,服務端的dll在與python通信,通
用Flet+Python寫個美觀的登錄程序
本教程用Flet+Python創(chuàng)建了現代登錄表單。可以讓大家一窺Python在Flet的加持下能有怎樣的發(fā)揮。其中的字段陰影、動畫和狀態(tài)控制……都使UI和UX更具吸引力。
使用Python批量連接華為網絡設備
隨著網絡規(guī)模的擴大和設備數量的增加,手動配置和管理每臺網絡設備變得越來越不現實。因此,自動化工具和腳本變得尤為重要。Python語言以其簡潔
利用Python腳本登錄到交換機并創(chuàng)建VLAN
本文將詳細介紹如何利用Python腳本登錄到交換機并創(chuàng)建VLAN。
評論