前提・実現したいこと
cisco機器(ASRシリーズやNCSシリーズ)にpythonでコンソール接続して自動で
コマンド入力(show version,show platform,show ip interfaceなど)、および出力結果のステータス確認(ポートがup/upになっているかetc)を行うマクロを作ろうとしています。
今まではteratermマクロを作成してやっていましたが、可読性・可変性に欠けるということでpythonマクロに書き換えようと挑戦しています。
マクロのコーディング以前に、pythonでのコンソール接続の方法が不明であったり、teratermのようなcisco機器と対話するターミナル画面がどこにあるのか不明なので、ご教授いただければ幸いです。
問題点
1.pythonでコンソール接続できること 2.pythonでciscoコマンドを流せること(show version,show platformなど) ※そもそもcisco機器と対話するターミナル画面がどこにあるのか、、、 3.上記コマンドの出力結果からステータス確認するため、出力結果をpython側でどうやって受け取るか
現状
1.はpyserialというモジュールを利用してコンソール接続ができそうなことを確認しました。 2.現状、ここで詰まっています。 teratermだと下記のコマンドでciscoコマンドを流しています。 「Sendln 'show version'」。 3.teratermだど下記のコマンドでciscoコマンドによる出力結果を1行1行を取得しています。 「inputstr」 pythonでも同じようなコマンドがあるのか?
試したこと
1.pyserialというモジュールでコンソール接続ができそうなことは確認できました。
下記にコードを記載しておきます。
import serial ser = serial.Serial() ser.baudrate = 9600 #このCOM番号は可変なので自分で設定します ser.port = 'COM10' ser.open() print(ser.is_open) #出力結果:true #ここにciscoコマンドを流し込むプログラムを記載すると思われる ser.close() print(ser.is_open) #出力結果:false
print(ser.is_open)の出力結果がtrueだからコンソール接続はできているのか?
cisco機器と対話するターミナル画面がないから、確認できない、、、
最後に
今回はコンソール(シリアル)接続で試しているか、難しそうならsshでも挑戦しようと思っています。
teratermならアプリを立ち上げると自動でcisco機器と対話するターミナル画面が表示されるが、
pythonでも同様のターミナル画面はあるのか疑問です。
利用環境
・windowns 10 64bit
・Python 3.8.5
・C:\Users***>pip list
Package Version
astroid 2.4.2
colorama 0.4.3
isort 5.5.2
lazy-object-proxy 1.4.3
mccabe 0.6.1
pip 20.2.3
pylint 2.6.0
pyserial 3.4
setuptools 50.3.0
six 1.15.0
toml 0.10.1
wrapt 1.12.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/12 17:21