cloretsblackのテクニカルノート

言葉の意味はよくわからんがとにかくすごい自信だ

パケット解析を簡単に行う方法

皆様こんにちわ。 パケットキャプチャ使ってますか? 今回はキャプチャファイルを簡単に解析する方法をご紹介します。

以前、パケットキャプチャの敷居の高さについて書いたことがあります。

cloretsblack.hatenablog.com

要約すると、パケットキャプチャでは何がおかしいのか分からないことが「難しい」ということになります。 なので、何を無視するか、何に注目するべきかを絞り込む方法について紹介します。

パケットキャプチャ教の普及にまつわる問題

私はユーザー企業の情報システム部門で勤務した経験があります。 そこでシステム上の問題が発生するたびに、トラブルシュート(障害対応)を行わなければならないのですが、私はいつもパケットキャプチャを使用して問題に対処していました。この方法は非常に精度よく問題に対処できるため、同僚にも勧めたのですが、反応が良くありません。

トラブル解決のときには、なるべく詳細に問題の発生原因や見つけ方などを情報共有し、社内勉強会も数回開催しましたが、こちらの説明を理解しているのかいないのか、興味がないとしか思えないリアクションをされるのがいつも不思議でした。だったら勉強会に出席するなよ! と割と毎回思っていました。

f:id:cloretsblack:20151031082855j:plain フツーにこのテンション。。
椎名高志 絶対可憐チルドレン

なぜこのような反応をされてしまうのか、ということを考察してみたのですが、 パケットキャプチャを使ったトラブルシュートの実例を聞いていると、問題解決に必要な前提知識の多さに引いてしまうことが原因ではないかと思い当たりました。

パケットキャプチャはネットワークのデバッグ行為に相当します。 デバッグとはコードを解読する能力のある人が、入出力やコードの記述を調査することで解析を進めます。 入出力の内容が理解できない人が実施することは基本的にできません。

そのため、分からなさ過ぎてテンションが下がってしまうのではないかと考えました。

具体例

ここで少し例を出したいと思います。 パケット解析は間違い探しです。 しかも、多くの場合「間違った絵」だけをみて、間違いを指摘しなければなりません。

以下の絵について間違いを指摘してみましょう。

未来の世界の猫型ロボット

f:id:cloretsblack:20151031082647j:plain

予備知識のない状態だと、

  • このロボットは黒猫タイプ?
  • ツメは標準装備なのか
  • 暗闇で目が光りそう

ということで違和感があまりありません。
ハッ、もしかして、声が間違いなのでは?と、思ってしまうかもしれませんよね。

正解は「何もかも違う」です。
f:id:cloretsblack:20151031082819j:plain

間違えた方はいないと思いますが、それは「未来の世界の猫型ロボット」というキーワードから既知のキャラクターをイメージできるからです。
予備知識のない状態で、比較対象のない間違い探しを行うことは、 非常に困難を伴うということがお分かりいただけたかと思います。

解決策

それではどうしたらよいか。 答えは「比較対象を常に用意し、見比べることを前提にトラブルシュートをする」です。

以下のサイトで 継続的にパケットを収集する仮想アプライアンス、 「Sonarman」を無料で配布しています。

Sonarmanについて

develup-japan.co.jp

無償版配布ページ

develup-japan.co.jp

この仕組みを利用して、常に正常系と異常系を見比べてトラブルシュートが出来るようになれば、2種類のパケットキャプチャの差分だけを意識して解析すればよいということになります。
そのため、結果的に難易度が下がり、解決のスピードが速くなるのではないかと思います。 もしよければ使ってみてください。