Windowsファイアウォールのログをお手軽に可視化する(1) [ネットワーク]
Windowsファイアウォールのログを視覚的に捉えるいい方法ないかなーといろいろ探していたら、グラフ可視化ソフトCytoscape(要JAVA)をたまたま見つけました。これは無料で使えるのですが結構具合がよいのでその手順のメモを。
【無料で使えるグラフ可視化ソフトCytoscapeを使用してファイアウォールのログを可視化する試み】
関連記事: Windowsファイアウォールのログをお手軽に可視化する(1) (2) (3) (4)
可視化したファイアウォールのログを観察
下準備
- Windowsファイアウォールのログ pfirewall.log を用意する(ドロップだけじゃなくて通過したのも記録した奴がいいかも。ここではXP SP3のものを使用)
- Cytoscapeをインストールする(ここではバージョン2.6.2を使用)
Cytoscapeで使う一番大きなデータ構造がセッション(拡張子.cys)で、そのセッションの中にいくつかのネットワークが含まれている感じ。そしてネットワークは、ノードとノード間をつなぐエッジの集合で構成されている。これにVizMapperと呼ばれる装飾を施して外観を変えていくのが基本的な流れ。
ネットワークを定義する最も基本的なデータ形式は
【ノード1:源ホスト】 (エッジ:何でもいいがここでは行き先ポート) 【ノード2:行き先ホスト】
の集合なので(ヘルプファイルのSupported Network File Formatsとsifの項を参照)、この形のデータを準備すればいい。pfirewall.logだけでなく他のファイアウォールのトラフィックログなども使えそう。
幸いなことにCytoscapeはcsv、txtやxlsなども読み込んでくれるので、ここではpfirewall.logを直接読むことにします。File→Import→Network from Tableを選択。するとダイアログが開く。
- Select FileでC:/WINDOWS/pfirewall.logを選択
- source、interaction、targetをそれぞれcolumn5、8、6に設定(src-ip、dst-port、dst-ipを選択したことになっているが、表示では1列ずれてしまうことに注意)
- 一緒に読み込む属性を選択するため、previewのところのcolumn3、4、9をクリックして青色にしておく(action、protocol、sizeを選択、ここでも表示は1列ずれている)
- advancedにチェックを入れ、Start import rowを5に設定(5行目から読み込む)
- 最後に右下のImportをクリック
すると次のようなネットワークが表示されます。ノード(ピンクの丸)はホストを表し、エッジ(青い線)は通信したポートを表しています。このノードはドラッグして動かせます。また画面はホイールで拡大縮小、ホイールドラッグ(←注意)で移動します。
自動レイアウトもしてくれます。Layout→yFiles→OrganicとかLayout→Cytoscape Layouts→Spring Embeddedとかが今回は使いやすそう。
このようにしてひとまずログを可視化できましたが、この大部分は外向きのTCP80(http)、443(https)だったりするのでそれを見てもあまり面白くないです。次回はFilterでそれを除く方法について。File→Save Asで適当に.cysファイルを保存して、今回はここまで。
関連記事: Windowsファイアウォールのログをお手軽に可視化する(1) (2) (3) (4)
可視化したファイアウォールのログを観察