Firewallで利用可能なAppならびにその詳細を取得しCSVに保存するPython Script

Printer Friendly Page

※この記事は以下の記事の日本語訳です。
Python script for querying a firewall for all available apps, their details and write results to CSV
https://live.paloaltonetworks.com/t5/API-Articles/Python-script-for-querying-a-firewall-for-all-avai...

 

添付されたスクリプトで、ご利用のFirewallに接続し(FirewallのマネジメントIP,管理ユーザー名、パスワードはスクリプトの引数として指定していただく必要があります)、インストールされているApplication Signature database から、利用可能なApplicationのリストと個々のApplicationの詳細を取得し、その内容をCSV形式で保存することが可能です。

CSVファイルは、MS Excelを使用して編集等を行うことができます。

注意: このスクリプトは、FirewallにHTTPSで接続し、 XML-APIで利用可能なApplicationのリストと個々のApplicationの詳細を取得するリクエストを送ります。

 

スクリプトの前提条件:

Python 2.7.5/6

 

実行するために必要なPython libraries :

  • sys
  • httplib
  • argparse
  • lxml
  • logging
  • re
  • csv

 

本スクリプトは以下の環境でテストされています。:

- Windows 7 Enterprise Service Pack 1 (64-bit)  + python 2.7.5

- Ubuntu 14.04.1 LTS 64-bit + python 2.7.6

 

変更履歴:

** 1.0.0 - script作成

** 3.0.0 - script修正(個々のApplicationのobsolete属性取得機能の追加のため)

修正されたscriptは、添付されたapp_list_export3.zipで提供されています。 scriptのサンプル出力は、applist657.zipで提供されています。

制約事項:

- -oオプションの引数において、ファイルシステム形式のフルパスの指定には対応しておりません。

 

利用方法: app_list_export.py [-h] -i IPアドレス [-u ユーザー名] [-p パスワード] [-o csvのファイル名]

引数の説明:

  -h, --help            ヘルプのメッセージを表示します。

  -i IPアドレス, --IP IPアドレス        Firewallの管理IPアドレスを指定します。

  -u ユーザー名, --user ユーザー名  Firewallにログインするユーザー名; デフォルトは 'admin'

  -p パスワード, --password パスワード

                        Firewallにログインするユーザー名のパスワード; デフォルトは 'admin'

  -o csvのファイル名, --output csvのファイル名

                        scriptがインストールされているディレクトリ上に出力されるファイル名; デフォルトは'app.csv'

 

利用例:

10.66.18.91のFirewall(パスワードとユーザー名がadmin/admin)に対して、スクリプトを利用し、出力をapplist.csvに保存する場合、実行例は以下のようになります。:

$ python appv2.py -i 10.66.18.91 -u admin -p admin -o applist.csv

 

上記のコマンドにより、applist.csvは、コマンドを実行した同一ディレクトリ内に生成されます。サンプルの出力は、applist455.csvという名前でこちらのKBに添付されています。

 

ライセンス:

本スクリプトは、Creative Commons Attribution 3.0 Unported Licenseに基づき作成されています。スクリプトのご利用ならびに配布については、特に制限されているものではございません。スクリプトのバグ等については、Palo Alto Networks DevCenterにご連絡ください。

 

著者:goku123