Wireshark によるパケット解析講座 1: Wiresharkの表示列をカスタマイズする (2023-09-28 更新)

By

Category: Tutorial

Tags: , , , ,

A pictorial representation of changing column display in Wireshark. Binary is displayed on a computer monitor along with graphs and charts. The image is green and white.

This post is also available in: English (英語)

概要

Wireshark は無料で利用できるプロトコル アナライザです。 Wireshark を使うと、ネットワーク トラフィックをキャプチャーしたり、キャプチャーしたパケットを表示させることができます。ITの専門職についているかたがたは、このツールを使って日々ネットワークのさまざまな問題を解決しています。セキュリティの専門家も、この Wireshark を使ってマルウェアが生成するトラフィックを確認しています。

そこで、今回は Wireshark の便利な機能のひとつである表示列のカスタマイズをご紹介したいと思います。Wireshark はデフォルトでは、非常にたくさんの情報を列表示してくれますが、これをカスタマイズすることで皆さん自身の用途に使いやすいようにできます。

本稿は Wireshark のチュートリアル シリーズの連載第 1 回です。本シリーズでは、悪意のあるネットワーク トラフィックの調査に役立つカスタマイズ オプションを紹介します。本稿は 2018 年 8 月に初版を公開し、2023 年に更新しています。

関連する Unit 42 のトピック pcap, Wireshark, Wireshark Tutorial

目次

前提条件
補足資料
Wireshark のバージョンを確認する
設定プロファイル
Web トラフィックとデフォルトの Wireshark の列表示設定
日付と時刻を UTC に変更する
列を削除する
列を追加する
カスタマイズした列を追加する
列を非表示にする
更新した設定プロファイルをエクスポートする
結論

前提条件

BSD 系、Linux 系、macOS など、Windows 以外の環境の利用をお勧めします。Windows の感染から得た Pcap には、悪意のあるバイナリーが含まれている可能性があります。このバイナリーを扱うのに Windows コンピューター上の Wireshark を使った場合、Windows 環境への感染リスクがあります。本チュートリアルの作成には Xubuntu という Linux ディストリビューションを利用しています。

可能なかぎり、お使いの環境用の Wireshark の最新バージョンを使うことをお勧めします。以前の Wireshark バージョンより機能・性能ともに上がり、不具合も修正されています。少なくともバージョン 3.6.2 以降をお勧めします。本チュートリアルは Wireshark バージョン 4.0.7 を使っています。

本稿はある程度ネットワーク トラフィックの基本知識をお持ちの Wireshark ユーザーを読者として想定しています。また、本チュートリアル シリーズでは IPv4 のトラフィックを中心に取り上げます。ここで言う「基本知識」はひとによって捉えかたが異なると思いますが、細かい知識までは必要ありません。

たとえば、パブリック (グローバル) な IPv4 アドレスと、ルーティングができない内部 (プライベート) の IPv4 アドレスの違いは理解しておく必要がありますし、ネットワークの基本知識として TCP や UDP のトラフィックを見てそれとわかることや、DNS について知っていることは求められます。また、デスクトップ コンピューターなどの内部クライアントと、Web サイトなどの外部サーバーとの間で、どのようにしてネットワーク トラフィックがルーティングされているのかについても、ある程度は理解している必要があります。

要するに、本チュートリアル シリーズは、読者の皆さんが悪意のあるネットワーク トラフィックのレビューについて、すでに何らかの背景知識や関心をお持ちであることを前提としています。

補足資料

本チュートリアルで使う pcap は こちらの GitHub リポジトリーにホストしてあります。以下の図 1 にしたがって pcap をダウンロードしてください。

画像 1 は、Unit 42 Wireshark チュートリアル GitHub のスクリーンショットです。黒い矢印は、ファイルをダウンロードするためのアイコンを示しています。ここでこれは列設定のチュートリアルです。2 つめの黒い矢印は、Zip アーカイブをダウンロードするためのポップアップ ウィンドウの保存ボタンを指しています。
図1. 今回のクイズで使う GitHub リポジトリーの pcap を保存しているところ

今回ダウンロードする ZIP アーカイブ名は Wireshark-tutorial-column-setup.pcap.zip です。ZIP アーカイブの展開用パスワードは「infected」です (図 2)。

画像 2 は、ZIP ファイルをエンド ユーザーのダウンロード フォルダーに展開する方法を示しています。ダウンロード フォルダー内の ZIP ファイルをクリックすると、黒い矢印がメニューを指していて「Extract Here (ここに展開)」が選択されています。パスワードのポップアップには、入力済みのパスワードフィールドが表示されています。「OK」という緑色のチェックがついたボタンを押すと、.pcap ファイルが展開されます。
図2. パスワード保護された ZIP アーカイブから pcap を展開する

このチュートリアル用に展開された pcap 名は Wireshark-tutorial-column-setup.pcap です。では pcap を用意できたところで、まずは Wireshark のバージョンを確認してみましょう。

Wireshark のバージョンを確認する

pcap ファイルを開いていない状態では、Wireshark は以下の図 3 に示すように [Welcome to Wireshark (Wireshark へようこそ)] の画面にバージョン番号を表示します。

画像 3 は [Welcome to Wireshark (Wireshark へようこそ)] の画面のスクリーンショットです。Wireshark のバージョン番号が赤い四角で強調表示されて赤い矢印で示されています。
図3. バージョン番号が [Welcome to Wireshark (Wireshark へようこそ)] の画面に表示されている
以下の図 4 に示すように、[Help (ヘルプ)] メニューの [About Wireshark] を選択してバージョン番号を表示することもできます [訳注: macOS をお使いの場合は、[Wireshark] メニューの [About Wireshark] に読み替えてください]。

画像 4 は、[Welcome to Wireshark (Wireshark へようこそ)] のスクリーンショットです。[Help (ヘルプ)] メニューが選択されています。黒い矢印は [About Wireshark] を選択するよう示しています。[About Wireshark] メニューのポップアップに最初のタブである [Wireshark] が表示されています。バージョン番号が赤い四角形と赤い矢印で示されています。ここではバージョン 4.0.7 です。
図4. Wireshark のバージョン番号を [Help (ヘルプ)] メニューの [About Wireshark] で確認 [訳注: macOS の場合は [Wireshark] メニューの [About Wireshark]]

設定プロファイル

Wireshark バージョン 3.6.2 以降を使用していることを確認したら、Wireshark の [Edit (編集)] メニューで [Configuration Profile (設定プロファイル)] を選びます。以下の図 5 に示すように、コピー ボタンをクリックし、デフォルトの設定プロファイルのコピーを作成します。

画像 5 は、Wireshark の [Edit (編集)] メニューのスクリーンショットです。設定プロファイルのオプションが強調表示されています。黒い矢印は、これを選択すると表示されるポップアップ ウィンドウを示します。ここでデフォルトのプロファイルをコピーし、新しい名前を付けます。設定プロファイルでは「Default」が選ばれていて、黒い矢印がコピー ボタンを示しています。
図5. Wireshark で「Default」の設定プロファイルをコピーする
「Default」プロファイルをコピーした後、新しい名前を付けます。本チュートリアル シリーズ内で後からこの名前を参照することがあると思いますので、この名前は「Customized」にしておきましょう (図 6)。

画像 6 は、Wireshark の設定プロファイル ウィンドウのスクリーンショットです。黒い矢印は新しくカスタマイズした設定プロファイルを示しています。[種別] は「Personal (個人)」です。ツールチップには、この設定プロファイルが「Default」からのコピーであることが記載されています。
図6. 「Default」の設定プロファイルのコピーに名前を設定する
[設定プロファイル] ウィンドウをクローズするさい、この新しく作成されたプロファイルが選択状態になっていれば、この後の Wireshark へのカスタマイズはこの新しく作成されたプロファイルに保存されます。

Web トラフィックとデフォルトの Wireshark 列表示設定

マルウェアの配布は Web トラフィック経由で起きることが多いですし、データ漏出やコマンド & コントロールのアクティビティにも Web トラフィックは使われます。ただ、こうした悪意のあるアクティビティを確認するさい、Wireshark のデフォルトの列表示設定は理想的とはいえません。

さいわい、列表示をカスタマイズすれば Web トラフィックを確認しやすくなります。Wireshark のデフォルトのレイアウトを表示するため、このチュートリアル用にダウンロードしておいた pcap を開きましょう。Wireshark バージョン 4.0.7 の場合、デフォルト レイアウトは以下の図 7 のようになっています。

画像 7 は、デフォルトのレイアウトを示す Wireshark のスクリーンショットです。黒い矢印は、上から順に、display filter (表示フィルタ)、column display (パケット一覧部)、frame details (パケット詳細部)を示しています。右下のウィンドウは hexiadecimal view of frame (パケットデータ部) で、フレームの 16 進数ビューが表示されています。
図7. pcap を開いた後の Wireshark バージョン 4.0.7 のデフォルト レイアウト

Column Display (パケット一覧部) を確認してみましょう。Wireshark のデフォルトの列設定を表 1 に示します。

列名 列の説明
No. pcap の先頭からのフレーム番号。最初のフレームは常に 1 になる。
Time pcap の最初のフレームからのマイクロ秒 (ms) 単位の秒数。最初のフレームは常に 0.000000 になる。
Source 送信元アドレス。通常は IPv4、IPv6、ないし Ethernet のアドレス。
Destination 宛先アドレス。通常は IPv4、IPv6、ないし Ethernet のアドレス。
Protocol Ethernet フレーム、IP パケット、または TCP セグメントで使用されているプロトコル (ARP、DNS、TCP、HTTP など)。
Length バイト単位のフレームの長さ。
Info Ethernet フレーム、IP パケット、または TCP セグメントに関する情報。

表1. Wireshark のデフォルトの列表示

Windows ベースのマルウェア トラフィックを詳しく調査するため、本チュートリアルでは、以下の表 2 に示す列を使用するように Wireshark をカスタマイズします。

列名 列の説明
Time UTC での日付と時刻。
Src IPv4、IPv6、ないし Ethernet の送信元アドレス。
Src port IPv4 または IPv6 トラフィックの送信元アドレスが使用している TCP または UDP ポート。
Dst IPv4 か、IPv6 か、Ethernet の宛先アドレス。
Dst port IPv4 または IPv6 トラフィックの宛先アドレスが使用している TCP または UDP ポート。
Host HTTP または HTTPS トラフィックで使用されているホスト名。
Info Ethernet フレーム、IP パケット、または TCP セグメントに関する情報。

表2. Wireshark のカスタマイズされた列表示

では Wireshark の列表示をカスタマイズしていきましょう。まず [Time (時刻)] の列を変更して、日付と時刻を協定世界時 (UTC) で表示させます。

日付と時刻を UTC に変更する

皆さんがマルウェア感染に関する情報を公開して共有する場合、その受け取り手が世界のどこにいるかはわかりません。そこで、タイムゾーンが問題にならないよう、悪意のあるアクティビティの時刻を報告するときは UTC を標準形式として使います。

時刻表示形式を変更するには、[View (表示)] メニューを開いて[Time Display Format (時刻表示形式)] を選択し、[Seconds Since Beginning of Capture (最初にキャプチャしたパケットからの経過時間)] を [UTC Date and Time of Day (UTC 日時)] に変更します。つづけて同じメニューで時間の分割単位を [Automatic (自動)] から [Seconds (秒)] に変更します。図 8 はこのメニューでこれらのオプションを表示したところです。

画像 8 は、Wireshark の [表示] メニューのスクリーンショットです。黒い矢印は、[Time Display Format (時間表示形式)] が選択されていることを示します。[Time Display Format (時間表示形式)] のサブメニューにさまざまなオプションが表示されています。サブメニュー上の 2 つの黒い矢印は、2 つの個別の選択を示しています。1 つめの矢印は [UTC Date and Time of Day (UTC 日時)] を指しています。2つめの矢印は [Secounds (秒)] を指しています。これで Wireshark の時間表示形式が UTC と秒に変更されます。サブメニューにはほかのオプションとして、Nanoseconds (ナノ秒)、Tenths of a second (100 分の 1 秒) Time of Days (時刻) などが含まれます。
図8. Wireshark の時刻表示形式を UTC 日付と時刻に変更したところ
変更後は図 9 に示すように、列表示に UTC の日付と時刻が表示されます。これで pcap を確認すればネットワーク トラフィックの日時がすぐにわかります。

画像 9 は、変更された時間表示を示す Wireshark のスクリーンショットです。Time の列が黒い四角形で強調表示されています。これで時刻が UTC 形式と秒単位で表示されるようになりました。
図9. 更新された Wireshark 列表示。UTC 日時で表示されている

次は、ふだん Wireshark を使うさいに必要ない列を削除していきましょう。

列を削除する

Web ベースのトラフィックを確認するのに No.、Protocol、Length などの列は使わないので削除するとよいでしょう。削除するには、以下の図 10 に示したように、削除したい列名の上で右クリックし、表示されたコンテキスト メニューから [Remove this Column (この列を削除)] を選びます。

画像 10 は Wireshark の列表示のスクリーンショットです。黒い矢印が No. の列を示しています。この列名の上をクリックするとコンテキスト メニューが表示され、別の黒い矢印で示されているように、一番下の [Remove this Column (この列を削除)] を選べるようになります。
図10. No. の列をWireshark から削除する
更新された列表示には、Time (時刻)、Source (送信元)、Destination (宛先)、Info (情報) の 4 つの列のみが表示されているはずです (図 11)。

画像 11 は、更新された列表示の 4 つの列を示す Wireshark のスクリーンショットです。Time (時刻)、Source (送信元)、Destination (宛先)、Info (情報) の 4 つの列が表示されています。
図11. 更新された列表示。4 つの列が残っている

不要な列を削除できたら次は Wireshark に新しい列を追加していきましょう。

列を追加する

Wireshark での列の追加は [Column Preferences (列の設定)] メニューから行います。このメニューを開くには、いずれかの列名上で右クリックし、表示されたコンテキスト メニューで [Column Preferences (列の設定)] をクリックします (図 12)。

画像 12 は、Wireshark の列を設定するウィンドウのスクリーンショットです。このウィンドウは、いずれかの列名上で右クリックし、コンテキスト メニューから [Column Preferences (列の設定)] をクリックすれば表示されます。 [Column Preferences (列の設定)] が黒い矢印で示されています。
図12. [Preferences (設定)] ウィンドウを開く
この設定ウィンドウには、表示・非表示の状態を含む Wireshark のすべての列がリストされています。設定ウィンドウの左下あたりに 2 つボタンがあります。このうち [+] というボタンが列を追加するボタンで、[-] は列を削除するボタンです。ここでは、[+] をクリックして追加します (図13)。

画像 13 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。黒い矢印は、緑色の [+] を選択して Wireshark のパケット一覧部に新しい列を追加するようすを示しています。
図13. [+] を選んで Wireshark のパケット一覧部に新しい列を追加する
「New Column (新規列)」という「題名 (Title)」の項目が一番下に表示されます。この [Title (題名)] をダブルクリックし、下の図 14 に示すように列名を変更します。

画像 14 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。黒い矢印は、新しい列が作成されたことを示します。[題名 (Title)] は「New Column (新規列)」です。[Type (種別)] は「Number (数値)」です。
図14. 新しく作成した列の名前を変更する
以下の図 15 に示すように、この新しい列に「Src port」という名前を付けてください。次に [Type (種別)]の列の [Number (数値)] をダブルクリックしてください。上下にスクロール可能なコントロールが表示されます。ここから種別を「Number (数値)」からべつの種別に変更していきます。

画像 15 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。黒い矢印は、作成された新規列の種別が「Number (数値)」であることを示します。[題名 (Title)] は「Src port」に変更されています。
図15. 新しく作成した列の種別を変更する準備をしているところ
[Number (数値)] をもう一度クリックしてください。列の種別に使えるオプションをスクロール表示できるリストが表示されます。以下の図 16 に示すように下にスクロールしていき、列の種別として「Src port (unresolved)」を選びます。

画像 16 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。黒い矢印は [Type (種別)] に「Src port (unresolved)」を選ぶ方法を示しています。
図16. [Type (種別)] に「Src port (unresolved)」を選ぶ
次も同様に、新しい列を作成し、「Dst port」という Title (題名) を設定し、列の Type (種別) として「Dest port (unresolved)」を選びます (図 17)。

画像 17 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。黒い矢印は、別の新規列を作成し、Type (種別) に「Dest port (unresolved)」を設定したところを示しています。
図17. 新しく作成した「Dst port」列には Type (種別) として 「Dest port (unresolved)」を選ぶ
ここまでで、図 18 に示すように、[Preferences (設定)] ウィンドウに新しく作成された 2 つの列が表示されます。

画像 18 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。赤い四角形と赤い矢印は、新しい列が作成されてパケット一覧部に追加されたことを示しています。作成されたのは「Src port」列と「Dst Port」列です。どちらも「unresolved (名前解決を行わない)」に設定してあります。
図18. Wireshark のパケット一覧部に新しく作成された 2 つの列
作成した列の配置は変えられます。「Src port」を「Source」の後ろに移動し、「Dst port」を「Destination」の後ろに移動しましょう。そうするには、対象の列名を左クリックして選び、マウス ボタンを押したままリスト内の新しい位置にドラッグしてドロップします。図 19 は、「Dst port」列を「Destination」の直後の位置に移動しようとしているところです。

画像 19 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。矢印付きの握った手のアイコンは「Src port」をドラッグで移動しているようすを表しています。これにより列の順序を変更しています。
図19. 新しく作成した「Dst port」を移動する
新しく作成した「Src port」と「Dst port」を移動したら、「Source」の列の題名を「Src」に変更し、種別を「Src addr (unresolved)」に変更しましょう。また、「Destination」の列の題名を「Dst」に、種別を「Dest addr (unresolved)」に変更しましょう。変更後の [Preferences (設定)] ウィンドウは、図 20 のように見えるはずです。

画像 20 は、Wireshark の [Preferences (設定)] ウィンドウです。左側の [Appearance (外観)] メニューで [Columns (列)] が選択されています。列がカスタマイズした順序で表示されるようになりました。ここでは上から下に Time、Src、Src port、Dst、Dst port、Info が表示されています。
図20. [Preferences (設定)] ウィンドウで列の順序を更新
これらの変更が済んだら [OK] をクリックして [Preferences (設定)] ウィンドウを閉じます。これで Wireshark には次の 6 つの列 <Title (題名)>: <Type (種別)> が表示されているはずです。

  • Time - Time (format as specified)
  • Src - Src addr (unresolved)
  • Src port - Src port (unresolved)
  • Dst - Dest addr (unresolved)
  • Dst port - Dest port (unresolved)
  • Info - Information

図 21 はこの変更結果がどのようになるかを示しています。

画像 21 は、Wireshark のパケット一覧部に追加された新しい列を示しています。黒い矢印はその名前と順序を示しています。
図21. 列を更新した後の Wireshark のパケット一覧部

図 21 は、新しく作成された「Src port」と「Dst port」の列の内容は右揃えで表示されており、ほかのすべての列の内容は左揃えで配置されているようすを示しています。右揃えになっている各列の列名を右クリックし、コンテキスト メニューを表示したら、[Align Left (左揃え)] チェックボックスをクリックして、これらの列を左揃えにしてください。図 22 は、[Src port] の列の例を示しています。

画像 22 は、新しい列を左揃えにする方法を示す Wireshark のスクリーンショットです。列名を右クリックするとコンテキスト メニューから [Left align (左揃え)] を選択できます。
図22. 新しく作成した [Src port] 列の内容を左揃えにする
ここまで済めば、以下の図 23 に示すように、[Src port] と [Dst port] の列が左揃えになってほかの列と文字揃えが一致しているはずです。

画像 23 は Wireshark のスクリーンショットです。2 つの黒い四角形は、Src port と Dst Port の列が両方とも左揃えになったことを示しています。
図23. [Src port] と [Dst port] の列を左揃えに
このように、[Preferences (設定)] ウィンドウからはさまざまな種類の列を追加できますが、考えうる種別の列をすべてここから追加できるわけではありません。たとえばこの方法だと Web トラフィックに関連付けられたドメインを示す列は追加できません。さいわい、そうした Web トラフィックのドメインを表示するためのカスタマイズした列も追加可能です。

カスタマイズした列の追加

その場合に使えるのが Wireshark のカスタム列追加機能です。カスタム列には、Wireshark のパケット詳細部ウィンドウに含まれるほぼどんな値でも利用できます。パケット詳細部を見やすくするには、16 進数表示をしているパケットデータ部を一時的に非表示にする必要があります。図 24 に示すように、[View (表示)] メニューで [Packet Bytes (パケット バイト列)] のチェックを外します。

画像 24 は Wireshark のスクリーンショットです。[View (表示)] メニューの下の黒い矢印は、[Packet Byte (パケット バイト列]のチェックを外すことを示しています。
図24. [Packet Bytes (パケット バイト列)] のチェックを外して 16 進数のパネルを非表示にする
これで、pcap データを表示するセクションは [パケット一覧部] と [パケット詳細部] の 2 つだけになりました。

まず、平文の HTTP Web トラフィックで使用されるドメイン用にカスタマイズした列を作る必要があります。そのためには、Wireshark の [表示フィルタ] ツールバーに「http.request」と入力してから Enter を押します。[パケット一覧部] の最初のフレームを選択します。[パケット詳細部] で「Hypertext Transfer Protocol」の行を展開します。ここで「Host:」から始まる行を見つけます。この例では、「www.msftconnecttest.com」という名前を含む行になっています。Host: の行を左クリックして選択してから右クリックしてコンテキスト メニューを表示します。コンテキスト メニューから、[Apply as (列として適用)] を選択します (図 25)。

画像 25 は Wireshark のスクリーンショットです。パケット詳細部から対象の行を選択すると、[Apply as (列として適用)] を選択できることを示す 3 つの矢印が表示されています。
図25 パケット詳細部 Host: から始まる行を見つけたところ。この行をもとにして HTTP のホスト名の列を作成する
これにより、図 26 に示すように、「Host (ホスト)」という名前で新しい列が作成されます。

画像 26 は Wireshark のスクリーンショットです。黒い四角形は、新しく作成された「Host」という列を示しています。
図26. pcap で HTTP トラフィックを表示すると新しく作成した [Host (ホスト)] 列が表示される
次に、暗号化された HTTPS による Web トラフィックが使うドメイン用に、もう 1 つカスタマイズした列を作りましょう。Wireshark の [表示フィルタ] ツールバーを空にしてから、「tls.handshake.type eq 1」と入力し、Enter を押します。[パケット一覧部] の最初のフレームを選択します。

パケット詳細部で、Transport Layer Security の行を展開します。その下の TLSv1.2 Record Layer: Handshake Protocol: Client Hello を展開します。さらにその下にある Handshake Protocol: Client Hello 行を展開します。展開されたパケット詳細部を以下の図 27 に示します。

画像 27 は Wireshark のスクリーンショットです。黒い矢印はある 1 行が選択されていることを示します。下部ペインの 3 つの黒い矢印はその行の詳細を示しています。図には、Transport Layer Security、TLSv1.2 Record Layer、Handshake Protocol が表示されています。使用した表示フィルター: tls.handshake.type. eq 1
図27. HTTPS トラフィックに表示フィルターを適用し、パケット詳細部の項目を展開

パケット詳細部を下にスクロールしていき、Extension: server_name で始まる行を見つけて展開します。その下から Server Name Indication extension という行を見つけて展開します。その下に Server Name: geo.prod.do.dsp.mp.microsoft.com という行があります。この行を左クリックして選んでから、右クリックしてコンテキスト メニューを表示し、以下の図 28 に示すように [Apply as Column (列として適用)] を選択します。

画像 28 は Wireshark のスクリーンショットです。黒い矢印がパケット詳細部で 1行を選んでいることを示しています。メニューから [Apply as Column (列として適用)] が選択されています。使用した表示フィルター: tls.handshake.type. eq 1
図28. パケット詳細部で対象の行を見つけて HTTPS サーバー名の列を作成
これが済むと、図 29 に示したように、いましがた作った [Server Name] という題名の列が、[Host (ホスト)] 列の右側に新しい列として作成されます。

画像 29 は Wireshark のスクリーンショットです。黒い四角形が新しい列の「Server Name」を示しています。使用した表示フィルター: tls.handshake.type. eq 1
図29. pcap で HTTPS トラフィックを表示したところ。新しく作った [Server Name] という列が表示されている
いずれかの列名を右クリックしてコンテキスト メニューを表示し、[Column Preferences (列の設定)] をクリックして、[Preferences (設定)] ウィンドウを再度開きます。[Preferences (設定)] ウィンドウには、以下の図 30 に示すように、新しく作成された 2 つのカスタマイズされた列が表示されています。

画像 30 は、Wireshark の [Preferences (設定)] ウィンドウのスクリーンショットです。赤い四角形が、パケット一覧部の [Host] 列、[Server Name] 列に対応する 2 行の設定内容を強調表示しています。これら 2 行の [Type (種別)] は両方「Custom (カスタム)」になっています。
図30. 新しく作成した 2 つのカスタマイズ列を [Preferences (設定)] ウィンドウに表示したところ
画面スペースを節約したいので、これら 2 列を 1 列に結合しましょう。そのためには、まず [Server Name] の [Fields (フィールド)] の値をダブルクリックし、テキストの内容 (tls.handshake.extensions_server_name) をコピーします (図 31)。

画像 31 は、Wireshark の [Preferences (設定)] ウィンドウのスクリーンショットです。[Server Name] の列が選ばれています。黒い矢印は、ポップアップ メニューでこの列をコピーするようすを示しています。
図31 [Server Name] 列から [Fields (フィールド)] の値をコピーする
次に、 [Host] の項目の [Fields (フィールド)] 列の内容を選んだ状態で、最後に 「 or 」というオペランドを入力 (前後にスペースを空ける) し、その後ろに、さきほどコピーした [Server Name] のフィールド値のテキストをペーストします。これで Host と Server Name のフィールド値が結合されました。[Host] の新しい [Field (フィールド)] の値が http.host or tls.handshake.extensions_server_name になっていることを確認してください (図 32)。

画像 32 は、Wireshark の [設定] ウィンドウのスクリーンショットです。カスタムした [Host] 行の [Fields (フィールド)] 列が緑色で強調表示されています。
図32 新しく作成した [Host] 列の [Fields (フィールド)] の値
[Host] と [Server Name] の [Fields (フィールド)] の値を [Host] 側で結合したので [Server Name] は必要なくなりました。図 33 が示すとおりに削除してください。

画像 33 は、Wireshark の [Preferences (設定)] ウィンドウのスクリーンショットです。カスタムで作った [Server Name] の列が削除されたところです。対象の行が選択され、黒い矢印が赤い [-] をクリックしています。
図33. [Server Name] 列は不要になったので削除する
ここまで済むと、[Preferences (設定)] ウィンドウのリストは図 34 のようになっています。

画像 34 は、Wireshark の [Preferences (設定)] ウィンドウのスクリーンショットです。更新された列表示は、 Time、Src、Src port、Dst、Dst port、Host、Info になりました。
図34 更新されたパケット一覧部の列
[Preferences (設定)] ウィンドウを閉じます。これで、HTTP と HTTPS の両方のアクティビティをフィルタリングできるようになりました。これらの Web トラフィックに関連付けられたドメインは、先ほど更新した [Host] 列に表示されるようになります。

Wireshark の表示フィルタ ツールバーに次のように入力してみましょう。

http.request or tls.handshake.type eq 1

Wireshark で更新した列の表示結果をスクロールします。図 35 の Wireshark スクリーンショットのように見えるはずです。

画像 35 は、更新された [Host] 列を表示している Wireshark のスクリーンショットです。図は黒い四角形で強調表示されています。使用されている表示フィルタは 「http.request or tls.handshake.type eq 1」です。
図35. Web トラフィックに関連付けられたドメインを示す [Host] の列を更新
これで列はすべて作成したので、必要に応じて列を非表示にできます。

列を非表示にする

マルウェアが生成した Web トラフィックの pcap を確認していると、感染したホストの使っているある単一の内部 IP アドレスから生じたアクティビティを大量に収集することがよくあります。たとえば、マルウェア解析用のオンライン サンドボックスが生成する pcap がそうした例の 1 つです。感染疑いに関連したアラートを調査するさい、トラフィックが手に入るのであれば、アナリストはそのアラートに関連付けられた内部 IP からのトラフィックを用意することになります。

このような場合、Web トラフィックをフィルタリングすると、[Src] の列にはいつも同じ内部 IP アドレスが表示されることになります。たとえば本チュートリアルの pcap は 172.16.1[.]135 という内部 IP アドレスからのトラフィックをキャプチャしました。したがって、Web トラフィックをフィルタリングする場合、パケット一覧部の [Src] 列にはこの IP アドレスが常に表示されることになります。

それなら [Src] 列も [Src port] 列も隠して、Web トラフィックに集中するほうがよいでしょう。

Wireshark で列を非表示にするには、列名のいずれかを右クリックして、コンテキスト メニューから非表示にする列のチェックを外します。図 36 は、[Src] 列と [Src port] 列のチェックボックスをオフにしたことを示しています。

画像 36 は、コンテキスト メニューからチェックを外して [Src] 列と [Src port] 列を非表示にする方法を示す Wireshark のスクリーンショットです。
図36 チェックを外して [Src] 列と [Src port] 列を非表示にする
これらの列を非表示にすると、Web アクティビティのレビュー時にトラフィックの内容を把握しやすくなります。たとえばこの例であれば、2023 年 8 月 7 日 18:57 UTC にホストが httpforever[.]com というサイトに対して平文の Web トラフィックを生成していることがわかります。

画像 37 は、Web トラフィックの見え方を簡潔にした Wireshark のスクリーンショットです。
図37 pcap の Web トラフィックをより簡潔に表示

せっかく列表示をカスタマイズしてきたので、更新した設定プロファイルをエクスポートしておきましょう。

更新した設定プロファイルをエクスポートする

Wireshark の最新バージョンは、個人用の設定プロファイルをエクスポートしたりロードしたりできます。この機能は Wireshark を新しい環境にインストールしたときに便利です。本チュートリアルの手順を一からやり直さずとも、エクスポート済みの設定から保存したプロファイルをロードできます。

新しくカスタマイズした設定プロファイルをエクスポートするには、以下の図 38 に示すように、[Edit (編集)] メニューで [Configuration Profiles (設定プロファイル)] を選択します。

画像 38 は Wireshark のスクリーンショットです。黒い矢印が、[Edit (編集)] メニューから [Configuration Profiles (設定プロファイル)] を選択しているところを示しています。
図38 [Configuration Profiles (設定プロファイル)] ウィンドウのメニューへのパス
[Configuration Profiles (設定プロファイル)] ウィンドウでは、カスタマイズされたプロファイルが選択されたままになっているはずです。このプロファイルをエクスポートするには、下の図 39 に示すように [Export (エクスポート)] ボタンをクリックします。作成した個人用設定プロファイルが複数ある場合はそれもエクスポートできます。

画像 39 は、Wireshark の [Configuration Profiles (設定プロファイル)] メニューのスクリーンショットです。青で強調表示されているのは、[Costomized]という個人用のカスタマイズしたプロファイルです。黒い矢印は、ドロップダウン メニューから [all personal profiles (すべての個人プロファイル)] が選ばれた状態で、[Export (エクスポート)] を選択ぶようすを示しています。
図39 [Configuration Profiles (設定プロファイル)] ウィンドウで個人プロファイルをエクスポート
エクスポートされたプロファイルは ZIP アーカイブとして保存されます。お使いの環境で必要な場合は保存するファイル名に .zip というファイル拡張子をつけて保存します (図 40)。

画像 40 は、エクスポートされたプロファイルを Wireshark から zip として保存する方法を示しています。ここでは zip ファイル名を「customized-profile.zip」にしてあります。また zip ファイルの保存場所としてデスクトップが選択されています。
図40 エクスポートしたプロファイルを ZIP アーカイブとして保存

保存されたプロファイルをインポートするには、以下の図 41 に示すように、[Configuration Profiles (設定プロファイル)] ウィンドウで [Import (インポート)] をクリックします。

画像 41 は、zip から Wireshark にプロファイルをインポートする方法を示しています。黒い矢印で示されているのは [Import (インポート)] ボタンです。ここではドロップダウン メニューから [from zip file (zip ファイルより)] を選んでいます。
図41. エクスポートした設定プロファイルを [Configuration Profiles (設定プロファイル)] からインポート

結論

Wireshark のデフォルトの列表示でじゅうぶん、という方も多いと思います。ただ、カスタマイズすれば、個人の用途にあったさらに使いやすいものにすることができます。たとえば、本チュートリアルで行ったカスタマイズは、Web トラフィックを確認して感染チェーンを識別したい場合にとても便利です。

本シリーズの次回のチュートリアルでは、表示フィルタ式を中心に取り上げます。この表示フィルタ式は、不審なネットワーク トラフィックの調査に役立ちます。

追加リソース