2015年1月21日水曜日

python3でtelnetlibを使ってみる

■目的
 pythonを使えるようになりたいのでまずは環境を整えてみる
基本的にはネットワークエンジニアなのでネットワーク機器の操作を中心に学習していく。

■参考にさせて頂いたサイト&本
・みんなのpython
http://eayd.in/?p=273

■.pyファイルを作成してみる
aristaのSWにtelnetでログインし、sh runとsh verを実行し保存するという.pyファイルを作成する
URLを参考(丸コピ)して以下のように作成した

arista.py
#!/usr/bin/python

import telnetlib
import datetime

now = datetime.datetime.now()

host = "192.168.1.1" # your router ip
username = "arista" # the username
password = "arista"
filename_prefix = "arista-backup"

tn = telnetlib.Telnet(host)
tn.read_until("Username:")
tn.write(username+"\n")
tn.read_until("Password:")
tn.write(password+"\n")
tn.write("terminal length 0"+"\n")
tn.write("enable"+"\n")
tn.write("sh run"+"\n")
tn.write("sh version"+"\n")
tn.write("exit"+"\n")
output=tn.read_all()

filename = "%s_%.2i-%.2i-%i_%.2i-%.2i-%.2i" % (filename_prefix,now.day,now.month,now.year,now.hour,now.minute,now.second)

fp=open(filename,"w")
fp.write(output)
fp.close()

上記ファイルを作成後に
#python arista.py
を実行
同一ディレクトリにファイルが保存された。

■終わり
 teramacroまたは通常のシェルスクリプトでexportして実行するのと同様の事は出来そうだ。
対象IPを別ファイルにリストアップし、一行ずつhostに入れられるようにしてみようと思う


私の体験が誰かの生産性向上に役立っていただけることを祈って

0 件のコメント:

コメントを投稿