Part3では、Pktmonで取得したログファイルを自作のプログラムで分析する方法を紹介する。例えば可視化を考えてみよう。Wiresharkを使えばパケットの様々な情報を確認できる。しかしWiresharkの機能では取得できない情報を見たい場合もある。その場合、パケットキャプチャーソフトを自分でプログラミングできれば融通が利く。また取得したパケットに同じ分析を繰り返し適用したり、処理を自動化したりすることも可能だ。
Pythonの実行環境を導入
プログラミング言語の種類は多いが、ここでは人気のプログラミング言語である「Python」を使う。Pythonには、ネットワーク管理のためのライブラリーが多数用意されている。
まずWindows 10にPythonの実行環境▼をインストールする。PowerShellで「python」と入力してEnterキーを押す(図3-1)。Windows Storeが起動し、「Python 3.10」をインストールするかどうかを聞いてくる。「入手」ボタンをクリックしてインストールを進める。
正しく実行環境がインストールできたかどうかは、pythonコマンドで確認できる。PowerShellで「python --version」と入力して実行する。Pythonのバージョンが「Python 3.10.2」のように表示されれば、実行環境が正しくインストールされている。
続いて、ライブラリーをインストールする。Pythonの実行環境には「pip」というパッケージ管理システム▼が用意されている。pipを使えば、インストールしたいライブラリーを簡単にインストールおよびアンインストールできる。
ここでは「Pyshark」というライブラリーをインストールする(図3-2)。Pysharkを使えば、Pythonプログラムでパケットを取得したり、PCAPNG形式のログファイルを読み込んだりできる。このためPktmonで取得したログファイルはPCAPNG形式のファイルに変換しておく必要がある。またWiresharkに付属するCLI▼ツールである「Tshark▼」を利用するため、Wiresharkのインストール時にTsharkも合わせてインストールしておく必要がある。
TsharkがインストールされたパソコンでPowerShellを起動し、「pip install pyshark」というコマンドを入力すれば、Pysharkがダウンロードおよびインストールされる。