全7526文字
PR

 新型コロナウイルス禍で企業ネットワークの姿が変わってきています。ネットワーク管理にも変化に対応した手法が求められています。この特集ではネットワークを流れるパケットをキャプチャーして収集し、Pythonとリレーショナルデータベースを用いて精度よく解析するための実践的なテクニックを紹介します。第2回 https://xtech.nikkei.com/atcl/nxt/column/18/01834/110500002/ まででソフトウエアによるトラフィック解析の趣旨について解説しました。第3回は具体的にパケット解析環境を構築します。

 第3回はいよいよ実践編です。Pythonによるパケット解析環境を構築する手順を示すとともに、次回以降に解説する具体的な課題を解くための準備として、パケット分析の基本的なスタイルを実際のソースコードから説明します。パケットキャプチャーツール「Wireshark」では同時に複数の処理をすることが難しい、任意のパラメーターによるトラフィックの時系列データ取得までの一連の流れを解説します。

 まずはPythonの開発環境を作成します。(1)Pythonのディストリビューションパッケージ「Anaconda」のインストール、(2)Webブラウザー上で動作する対話型のプログラム実行環境である「Jupyter Notebook(ジュピターノートブック)」の確認、(3)キャプチャーしたパケットデータをPythonで扱うためのライブラリー「Scapy」のインストール、(4)Windowsでパケットをキャプチャーするためのライブラリー「Npcap」のインストール――、以上を順を追って説明します。

 これらの環境を構築した後、実際のソースコードを参照しながら、テスト用に作成したパケットキャプチャーデータを使ってトラフィックの時系列データ取得までを説明します。なお、筆者は米Microsoft(マイクロソフト)の仮想化システム「Hyper-V」上でメモリー4ギガバイト、ディスク32ギガバイト、仮想CPU数1個のスペックの仮想マシンで動かしています。Pythonの開発環境はWindows 11のプレビュー版上に構築しましたが、Windows 10でも同様の手順で構築し、動作することを確認しています。

Python開発環境作成手順

 Pythonの開発環境をWindows 11プレビュー版上にセットアップする手順を示します。Python開発環境としてAnacondaを使用します。AnacondaはPythonのディストリビューションパッケージです。以下のWebサイトからダウンロードしてください。

Anacondaのダウンロードサイト https://www.anaconda.com/products/individual
Windows 64bit版のAnaconda Anaconda Individual Edition(個人用途)を赤枠内のボタンをクリックしダウンロード
Windows 64bit版のAnaconda Anaconda Individual Edition(個人用途)を赤枠内のボタンをクリックしダウンロード
[画像のクリックで拡大表示]

 今回ダウンロードするのは、個人用途のWindows 64bit版「Anaconda Individual Edition」です。ダウンロードボタンをクリックしてください。「Anaconda3-2021.05-Windows-x86_64.exe」がダウンロードされますので、ダウンロードしたらインストーラーを起動します。

ダウンロードしたインストーラーを起動した画面。赤枠内をクリック
ダウンロードしたインストーラーを起動した画面。赤枠内をクリック
[画像のクリックで拡大表示]