パケットキャプチャをする前に知っておきたいこと

エンジニアノート

 

当社で販売しているSYNESISは、パケットキャプチャ装置です。大容量のパケットをロスなく長期間保存できることが最大の特長です。
一方、パケットキャプチャは、昔からあるレガシーの技術ですが、今なおネットワークを可視化する手段として広く一般的に新人からベテランエンジニアまで使われています。今回は、私が新人のときにパケットキャプチャをする前に知っておきたかったことについてご紹介します。

パケットキャプチャとは

パケットキャプチャとは、通信パケットのコピーを何らかの方法で受信し、それをメモリやハードディスク等に書き込むことです。
何らかの方法については、以前の記事をご覧ください。基本的には、TAPかSPANを使う方法が一般的です。これらの方法は、ネットワークに影響を与えずにキャプチャを行うことができます。
SPANやTAPを使用せず、ネットワークに参加した状態でもキャプチャは可能ですが、その場合は、取得するパケットに自分自身の通信のパケットが混じります。解析の際にはそのことを考慮する必要があります。

キャプチャしたパケットに含まれる情報

こちらは、PcapファイルをWiresharkで開いた画面です。

キャプチャ画面

Wiresharkの画面構成については別の機会にご紹介します。今回は、キャプチャされたパケットを5W1Hで情報を整理してみます。

5W1H 情報
When(いつ) パケット自体には時刻情報は含まれていませんが、キャプチャファイルに「キャプチャしたデバイスの時刻情報」は含まれます。
Where(どこで) パケットにキャプチャした場所の情報は含まれません。
場所の情報は把握しておく必要があります。
Who(だれがだれに) パケットには、MACアドレス、IPアドレスの情報は含まれます。
What(なにを) パケットには、プロトコル、ペイロードの情報は含まれます。
Why(なぜ) (当然ですが)パケットの取得理由の情報は含まれません。
How(どのように) どのようにパケットを取得したかの情報は含まれません。

つまり、キャプチャされたパケットに含まれていない重要な情報も存在します。ですので、キャプチャデータを保存する際には、このデータがどのようなネットワークのどこで取得されたかなどの場所の情報やどのようにキャプチャされた(取得方法やフィルタなどの設定、キャプチャに使用した機器など)の情報は控えておく必要があります。

パケットキャプチャをする前に知っておくこと

パケットキャプチャは、ネットワークの状況を知る上で非常に役にたつ手段ですが、キャプチャしたからといって、ネットワーク上でおきているすべてのことがわかるようなことはありません。このことをふまえて、パケットキャプチャ作業を実施する前に知っておくことをまとめてみました。

  1. パケットキャプチャで大切なことは、「ゴール」を決めることです。まずはじめになんの目的でパケットキャプチャをするのかをはっきりさせておく必要があります。
  2. パケットキャプチャは有用ですが、万能ではありません。キャプチャしたポイントで流れているパケットの情報しかわかりません。ですので、キャプチャポイントを決定することは重要です。もし目的の通信が取得できない場合、それがそもそもそのポイントで流れているのかをネットワーク構成から判断する必要があります。また、必要に応じてキャプチャするポイントを変更していくことも重要です。また、パケットを取得する手段によりパケットの見え方が違う場合もありますので、注意が必要です。
  3. パケットキャプチャデータだけでは十分ではありません。どこで、どのように取得したものかをわかっている必要があります。特にキャプチャ作業を行う担当者とそれを解析する担当者が異なる場合は、キャプチャしたデータだけでなく情報も一緒に伝える必要があります。
  4. パケット上に時刻情報はありません。キャプチャするデバイスの時刻情報がパケットの情報になりますので、まわりのデバイスとの時刻同期は事前に行う必要があります。
  5. キャプチャ作業を行う前の下準備は意外とたくさんあります。上記にあげたキャプチャポイントや手段の決定、時刻同期などのほかにも、ネットワーク使用率状況の確認、キャプチャする機器の選定、記録の仕方やファイルの命名規則、解析手段の選定などがあります。あらかじめそれらを想定しておくと、現地での作業が円滑に行えます。

Pcapngフォーマットで追加されたフィールド

Pcapngフォーマットは、WiresharkのVer.1.xの後半で追加サポートされた形式です。従来のPcapフォーマットからいろいろな点が改良されていますが、そのひとつにフィールドが拡張されたことがあげられます。
それを用いて、取得したパケットキャプチャデータにキャプチャした場所や方法などの情報を追加することができます。

キャプチャファイルのコメント機能

ファイル全体に対してコメントを追加できる機能があります。
[Statistics] menu > Capture File Propertiesを選択し、"Capture file comments"にコメントを記載し"Save Comments"をクリックします。
ここにキャプチャポイントの情報などを追加することができます。

パケットのコメント機能

各パケットに対してもコメントが追加できます。
"Packet List"上で右クリックし、Paxket Comments > Add New omment...でコメントが追加できます。
ちなみに日本語でコメントを入れると私の環境では文字化けしました。(日本語表示に変更しても文字化けしました。)

コメントの確認方法

[Staistics] menu > Capture File Propertiesでコメント情報を確認することが可能です。
また、ファイルやパケットのコメントを編集したら、忘れずにファイルを保存します。

コメント追加画面

パケットキャプチャ製品の選定

パケットをロスなく取得するためには、パケットキャプチャ製品の選定も重要です。パケットがそもそもネットワーク上に流れていないか、キャプチャ製品の性能が足りずパケットロスを起こしているのかは、判断がつきづらい場合があります。

当社は、15年以上に渡るパケットキャプチャ技術の追求で培った技術力により、パケットキャプチャ製品「SYNESIS」を開発、販売しています。SYNESISは、現在世界最高の連続パケットキャプチャ性能を実現しています。キャプチャ性能に関する特許も取得しています。

2018/09/04 【ニュースリリ-ス】大容量パケットキャプチャ/解析システム「 SYNESIS 」に搭載の高速データ書き込み技術で特許を取得

2021/11/17 【ニュースリリース】大容量パケットキャプチャ/解析システム「SYNESIS」に搭載の高速データ書き込み技術で特許を取得

特許情報に関する最新の情報は、SYNESISポータルサイトワンテクノロジーズカンパニー SYNESIS開発ページで公開しています。

関連記事

note_addパケットキャプチャ関連

TAP vs SPAN どちらを使う?

パケットキャプチャをする前に知っておきたいこと(本記事)

ネットワークの遅延とは?パケットキャプチャからみる遅延

note_addWiresharkTIPS関連

Wiresharkべしべからず集

Wiresharkのおすすめ表示設定

Wiresharkの保存フィルタ ~基本操作編~

Wiresharkの表示フィルタ ~複数条件設定編~

Wiresharkのキャプチャフィルタ ~設定方法と注意点~