![](https://habrastorage.org/files/2e2/3a0/281/2e23a0281f49440fb3fda3352e783e8d.jpg)
まず、ライブラリをインポートします(システムにない場合は、gitからダウンロードできます)
from Exscript import Account from Exscript.protocols import SSH2
たとえば、シスコの場合、Googleにpingを送信しますが、次の設定にコマンドを使用することを妨げるものはありません。
acc = Account('USERNAMESSHAAA', 'PASS') con = SSH2() con.connect('ROUTER_IP') con.login(acc) con.execute('terminal length 0') con.execute('ping vrf INTERNET 8.8.8.8') con.send('exit') output = con.response
出力は:
ping vrfインターネット8.8.8.8
5月11日水曜日19:13:25.551 FET
中止するにはエスケープシーケンスを入力します。
5、100バイトのICMPエコーを8.8.8.8に送信すると、タイムアウトは2秒です。
!!!
成功率は100パーセント(5/5)、往復の最小/平均/最大= 20/20/21ミリ秒
RP / 2 / RSP2 / CPU1:Msk-1-sr9000#
長い間苦労していたタスクが発生したのはHuaweiでした。Exscriptは、操作が完了するのを待たず、時間と確認の送信を要求しました。 たとえば、行のペアを診断する場合、yキーを押してEnterキーを押して確認することでしばらくの間サービスの中断を確認し、テストが完了するまで数秒待つ必要がありました。 これで、Exscriptがハングアップし、試行錯誤によって解決策がもたらされました。
このタスクを実行するために手動でスイッチに接続するときにコンソールで作業する例:
sys
システムビューに入り、Ctrl + Zでユーザービューに戻ります。
[SW] int g0 / 0/5
[SW-GigabitEthernet0 / 0/5] v
警告:コマンドはしばらくサービスを停止します、続行しますか?[Y / N]:y
ペアAの長さ:56メートル(s)
ペアBの長さ:56メートル(s)
ペアCの長さ:56メートル(s)
ペアDの長さ:56メートル(s)
ペアA状態:オープン
ペアBの状態:オープン
ペアCの状態:オープン
ペアD状態:オープン
[SW-GigabitEthernet0 / 0/5]
次に、Exscriptでできることを示します。To_Smth_Important_Device禁止トリガーの説明にある推論を使用して、アップリンクのランダムテストを制限します。
acc = Account('USERNAMESSHAAA', 'PASS') con = SSH2() con.connect('ROUTER_IP') con.login(acc) con.execute('screen-length 0 temporary') con.execute('sys') con.execute('interface GigabitEthernet0/0/2') con.execute('disp th') upck = '' upck = con.response if 'To' not in upck: con.set_prompt(r'Y') con.execute('vi') con.set_prompt('Pair D state.{0,20}') con.execute('Y') output = con.response else: output = 'UPLINK DETECTED! TEST ON UPLINKS RESTRICTED!' con.send('quit\r') con.send('quit\r') con.send('quit\r')
出力:
/ N]:Y
情報:この操作には数秒かかる場合があります。 しばらくお待ちください。
ペアAの長さ:56メートル(s)
ペアBの長さ:56メートル(s)
ペアCの長さ:56メートル(s)
ペアDの長さ:56メートル(s)
ペアA状態:オープン
ペアBの状態:オープン
ペアCの状態:オープン
ペアD状態:オープン
裁量で出力を解析できます。
ご清聴ありがとうございました!