パケットキャプチャをする前に知っておきたいこと
当社で販売している「SYNESIS」は、パケットキャプチャ装置です。大容量のパケットをロスなく長期間保存できることが最大の特長です。
パケットキャプチャは、昔からあるレガシーの技術ですが、今なおネットワークを可視化する一般的な手段として新人からベテランエンジニアまで幅広く使われています。今回は、私が新人のときにパケットキャプチャをする前に知っておきたかったことについてご紹介します。
目次
パケットキャプチャとは
パケットキャプチャとは、通信パケットのコピーを何らかの方法で受信し、それをメモリやハードディスク等に書き込むことです。
この「何らかの方法」ですが、TAPかSPANを使う方法が一般的です。詳細は、TAP vs SPAN どちらを使う?の記事をご覧ください。これらの方法は、ネットワークに影響を与えずにパケットを受信してキャプチャを行うことができます。
SPANやTAPを使用せず、ネットワークに参加した状態でもキャプチャは可能ですが、その場合は、取得するパケットに自分自身の通信のパケットが混じります。解析の際にはそのことを考慮する必要があります。
キャプチャしたパケットに含まれる情報
こちらは、PcapファイルをWiresharkで開いた画面です。
このキャプチャされたパケットを5W1Hで情報を整理してみます。
5W1H | 情報 |
---|---|
When(いつ) | パケット自体には時刻情報は含まれていませんが、キャプチャファイルに「キャプチャしたデバイスの時刻情報」は含まれます。 |
Where(どこで) | パケットにキャプチャした場所の情報は含まれません。 場所の情報は把握しておく必要があります。 |
Who(だれがだれに) | パケットには、MACアドレス、IPアドレスの情報は含まれます。 |
What(なにを) | パケットには、プロトコル、ペイロードの情報は含まれます。 |
Why(なぜ) | (当然ですが)パケットの取得理由の情報は含まれません。 |
How(どのように) | どのようにパケットを取得したかの情報は含まれません。 |
つまり、キャプチャされたパケットに含まれていない重要な情報も存在します。ですので、キャプチャデータを保存する際には、このデータがどのようなネットワークのどこで取得されたかなどの場所の情報やどのようにキャプチャされた(取得方法やフィルタなどの設定、キャプチャに使用した機器など)の情報は控えておく必要があります。
パケットキャプチャをする前に知っておくこと
パケットキャプチャは、ネットワークの状況を知る上で非常に役にたつ手段ですが、キャプチャしたからといって、ネットワーク上でおきているすべてのことがわかるようなことはありません。このことをふまえて、パケットキャプチャ作業を実施する前に知っておくことをまとめてみました。
- パケットキャプチャで大切なことは、「ゴール」を決めることです。まずはじめにどんな目的でパケットキャプチャをするのかをはっきりさせておく必要があります。
- パケットキャプチャは有用ですが、万能ではありません。パケットキャプチャは、キャプチャしたポイントで流れているパケットの情報しかわかりません。ですので、キャプチャポイントを決定することは重要です。もし目的の通信が取得できない場合、それがそもそもそのポイントで流れているのかをネットワーク構成から判断する必要があります。また、必要に応じてキャプチャポイントを変更することも重要です。その際、パケットを取得する手段によりパケットの見え方が違う場合がありますので、注意が必要です。
- パケットキャプチャデータだけでは十分ではありません。どこで、どのように取得したものかをわかっている必要があります。特にキャプチャ作業を行う担当者とキャプチャデータを解析する担当者が異なる場合は、キャプチャデータだけでなくキャプチャした情報(キャプチャポイント、取得方法、フィルタの有無など)も一緒に伝える必要があります。
- パケット上に時刻情報はありません。キャプチャするデバイスの時刻情報がパケットの時刻情報になります。ですので、事前にキャプチャデバイスとネットワーク機器との時刻同期を行っておく必要があります。また、長期間キャプチャする必要がある場合は、キャプチャ中に時刻同期ができるキャプチャ専用デバイスを選択しましょう。
- キャプチャ作業を行う前の下準備はたくさんあります。上記にあげたキャプチャポイントや手段の決定、時刻同期などのほかにも、ネットワーク使用率状況の確認、キャプチャする機器の選定、記録の仕方やファイルの命名規則、解析手段の選定などがあります。あらかじめそれらを想定しておくと、現地でのキャプチャ作業が円滑に行えます。
情報を追加できるPcapngの拡張フィールド
Pcapngは、WiresharkのVer.1.xの後半で追加サポートされたファイル形式です。従来のPcapファイル形式からいろいろな点が改良されていますが、そのひとつにフィールドが拡張されたことがあげられます。
その機能を用いて、取得したパケットキャプチャデータにキャプチャした場所や方法などの情報を追加することができます。以下の3つは、覚えておくと便利です。
1. キャプチャファイルのコメント機能
ファイル全体に対してコメントを追加できる機能があります。
[Statistics] menu > Capture File Propertiesを選択し、"Capture file comments"にコメントを記載し"Save Comments"をクリックします。
ここにキャプチャポイントの情報などを追加することができます。
2. 各フレームのコメント機能
各フレームに対してもコメントが追加できます。
"Packet List"上で右クリックし、Paxket Comments > Add New omment...でコメントが追加できます。
ちなみに日本語でコメントを入れると私の環境では文字化けしました。Wiresharkを日本語表示に変更しても同様でした。ですので、入力する際は、2バイト文字は避けたほうがよいかもしれません。
3. コメントの確認方法
[Staistics] menu > Capture File Propertiesでコメント情報を確認することが可能です。
また、ファイルやパケットのコメントを編集したら、忘れずにファイルを保存します。
キャプチャデータの注意点
キャプチャしたデータには、送信元や宛先のIPアドレス、MACアドレス、使用されるプロトコル、通信内容の一部など、多くの詳細な情報が含まれます。たとえば、特定のパケットを解析するだけで、誰と誰が通信しているか、どのサービスを使っているか、場合によっては送受信したデータの一部まで把握できてしまいます。そのため、慎重な管理が求められます。
データのアクセス制御を徹底し、必要最低限の権限のみを付与することが重要です。また保存期間の設定も必須です。長期保存は漏洩リスクを高めるため、不要なデータは削除し、効率的なデータ管理を心がけるようにします。
パケットキャプチャ製品の選定
パケットをロスなく取得するためには、パケットキャプチャ製品の選定も重要です。パケットがそもそもネットワーク上に流れていないか、キャプチャ製品の性能が足りずパケットロスを起こしているのかは、判断がつきづらい場合があります。ですので、キャプチャ性能を保証している製品を選択するようにします。
当社は、20年以上に渡るパケットキャプチャ技術の追求で培った技術力により、パケットキャプチャ製品「SYNESIS」を開発、販売しています。SYNESISは、世界最高の連続パケットキャプチャ性能を実現しています。キャプチャ性能に関する特許も取得しています。
特許情報に関する最新の情報は、SYNESIS ポータルサイトで公開しています。
2018/09/04 【ニュースリリ-ス】大容量パケットキャプチャ/解析システム「 SYNESIS 」に搭載の高速データ書き込み技術で特許を取得
2021/11/17 【ニュースリリース】大容量パケットキャプチャ/解析システム「SYNESIS」に搭載の高速データ書き込み技術で特許を取得
SYNESISのデモンストレーションやPoCをご希望の方は、以下のボタンよりお気軽にご相談ください。
あとがき
パケットキャプチャ製品にがっつり関わって10年以上が経ちました。パケットキャプチャのアーキテクチャは基本的には変わりませんが、ユーザがキャプチャしているデータ(プロトコル)や環境は確実に変化(進化)していると感じています。