技術メモ

ネットワークエンジニアがpython, perl等々を気楽に使うための覚え書き

python

python標準のstring.Templateを用いたcisco config作成スクリプト

jinja2もいいけれど... jinja2の過去記事はこちら python jinja2(part1) cisco機器のconfig作成に便利なjinja2.Environment()設定 - 技術メモ python jinja2(part2) テンプレート継承を用いたcisco機器のconfig自動作成 - 技術メモ 単純な置換だけで完成する…

python hashlibによるMD5/SHA-1/SHA-256 File validation

MD5/SHA-1/SHA-256をまとめて計算、そしてCSV出力もサポートするPythonスクリプト(Windows版のPython3.4で作成)。 メモ 使い方は、対象ファイルをglob形式で指定(複数可)。 hash.update()で使うblocksizeの選択に注意(スクリプトでは、デフォルト2047を定義)…

python openpyxl - ネットワーク機器のExcelパラメータシートをpythonで読取

ネットワーク機器(cisco)のExcelパラメータシート ホスト名とインターフェース名を含むExcelのパラメータシートを読み取って、データを加工(config作成、構築データ作成等)を行いたい時のサンプルスクリプトを作成(環境は、python 3.4 + openpyxl 2.3.0)。 …

python pexpectによるcisco / juniperのCLI automation

コンフィグバックアップだけではないマルチパーパス・スクリプト expectライクなpython pexpectで、cisco / juniper 機器のログ採取と設定変更機能を兼ねたwrapperモジュール(pexpect_wrapper.py)を書いてみた(Linux上のpython2.7, pexpect4.0.1環境で確認)…

python textfsm(part3) - ラッパー関数で整理

textfsmの整理 ciscoのconfigやlogといった解析対象は雑多なコマンド出力が一緒にまとめられたファイルを扱うことが多いため、以下のtextfsm_wrapper.pyを書いてみた。 concat_target() glob形式で対象ログを指定し、コマンド開始・終了を判定する正規表現を…

python jinja2(part2) テンプレート継承を用いたcisco機器のconfig自動作成

ビジネス層とプレゼンテーション層 part1でjinja2は便利使えることが分かったものの、テンプレートのスッキリ感は今一つ・・・。改めてテンプレートエンジンの使い方を調べてみた。 Rubyist Magazine - テンプレートシステム入門 (1) 歴史編 Rubyist Magazin…

python jinja2(part1) cisco機器のconfig作成に便利なjinja2.Environment()設定

テンプレートエンジンって便利? これまで、ネットワーク機器のコンフィグを自動生成するような目的で、テンプレートエンジンを使うのは「大げさ」だと思っていた・・・(簡単なtemplateの利用方法:python標準のstring.Templateを用いたcisco config作成ス…

python textfsm(part2) - ciscoルータのconfig解析例

textfsmによるciscoルータのconfig解析例 interfaceセクションのdescription, ip address情報を抽出する解析例をipythonで対話的に・・・

python textfsm(part1) - ネットワーク機器のログ解析を助けてくれるpythonモジュール

ネットワーク機器のshow~系コマンドの出力から設計・構築に必要な情報を抽出するのにgrepでは手に負えない場合、書き捨てのスクリプト作成が必要になるが、その記述手間を大幅に減らしてくれる、大変有り難いモジュール。 元々はPython2系が対象だが、Pytho…