ネットワークパケットの取り方
佐藤@IT雑貨屋です。
前の記事でIPについて少し書かせてもらいました。私は現在、このネットワークに関する事を生業としていますが、完全に「ネットワークマスタ」という立場ではありません。エンジニアと自分では言っていますが、ではネットワークエンジニアと呼べるかと言えば、やはり未だ心もとないところもあるので、日々精進に努めているという感じです。
ネットワークの仕事をしていると、営業であったりお客様から様々な不具合の申告というのが出てきます。その際に初動として大事なことは、事象の確認と責任分界点における障害の切り分けです。ネットワーク設備も、私の仕事している会社とお客様の間で責任分界点があるので、そこの場所でネットワークの不具合は、どちらに起因して起きているのか、明確に切り分けをする必要が出てきます。
そんな時に役立つのが「WIRESHARK」というアプリケーションです。
これはネットワークで流れているパケットを採取して、そのパケットの中身を確認する事で、発生している原因を確認できるツールと言っても良いでしょう。
このアプリケーションはフリーのアプリで以下の場所からダウンロード出来ます。
このリンクをクリックすると以下の画面になります。
私が利用しているのは「Windows x64 PortableApps®」です。これは軽くて使いやすいのです。
さて、このアプリケーションをノートPCにインストールして利用するのですが、利用するには以下の構成をとる必要があります。
ここでHUBがありますが、このHUBはリピータHUBか、もしくはミラーポートHUBを使う必要があります。リピータHUBの場合には、全ポートに受信した情報は転送されるので、特に設定は不要ですが、いまの時代、このリピータHUBは中々手に入りずらい事もありますので、ミラーポートHUBがおすすめです。しかしミラーポートHUBの場合には、どのポートをミラーポートにするか、事前に設定が必要な事と、ノートPCにつなぐのはミラーポートでなくてはなりませんので注意が必要です。
またノートPCについては、ネットワークの設定は特段必要ありません。パケットの収集はレイヤ2レベルで行われるのでIPアドレスやデフォルトゲートウェイの設定も不要で、通常はデフォルト設定のままで利用できます。
さて、上記の構成で接続ができたの出れば、次にWIRESHARKの立ち上げです。ノートPCにアプリケーションがインストールされていれば、そのアイコンをクリックすると、初期画面が立ち上がります。
この画面で[キャプチャ]メニューの[オプション]を選択すると、以下の画面となりますので、ここで[イーサネット]を選択して[開始]ボタンを押せば、それでパケットの収集が始まります。
パケット収集画面は以下の様なイメージになります。
この画面でプロトコル別にパケットを表示したり、そのパケットの中身はFrame、Ethernet、IP、UDPなどのプロトコル別に確認する事も出来ます。ここからは「習うより慣れろ」ではありませんが、実際に操作してみれば全体像はつかめると思いますので、もしお時間のある方は挑戦してみてください。ネット上にはWIRESHARKの使い方を説明したサイトも多くありますので、参考になると思います。
このWIRESHARKでは、ノートPCのHDD容量にもよりますが、大量のパケットを記録する事ができますし、その記録パケットもパケット数や時間などで分割保存する事もできるので、切り分けたい内容によっては1週間程度であれば、設置したまま放置して記録する事も出来ます。
ただ一つ注意しなければならないのは、ノートPCにインストールされているアプリケーションからもパケットが送出されているので、その内容もすべて記録されてしまいます。その為に収集したパケットの中身の確認の際には、ノートPCから送出されたパケットについては除外して確認する必要もあります。
また余談ですが、ノートPCをWi-Fiにつないでいる場合には、オプションでイーサネットの選択する場所で、Wi-Fiを選択すると、ノートPCのWi-Fi通信の内容も確認する事ができますので、お試しください。
あとパケットの中身ですが、IPsecなどでVPNが張られている場合や、当然ですが、https利用の場合などの時にはパケットも暗号化されているので、それを前提として確認する必要もあります。
私が以前にお客様のシステムを開発していた時、データベースと端末のアプリケーション間で、データ欠落があってとても困った記憶がありますが、その当時にこのツールが使えたら、問題切り分けももう少し効率よくできたと思うのですが、これは致し方ないことですね。