【Wireshark】キャプチャファイルの保存(長時間取得)

音声で聞く

読む前にこの記事のポイントを音声で確認できます。この音声は本記事をもとにAIツール(NotebookLM)で自動生成したもので、発音や言い回しが不自然な箇所や、内容の誤りが含まれる可能性があります。理解の補助としてご利用ください。

長時間パケットキャプチャを取るとき、何も設定せずに開始すると、通信量によってはキャプチャファイルが大きくなりすぎます。止めずに続ければ、端末のディスク容量も圧迫します。

Wireshark のキャプチャオプションでは、キャプチャファイルの保存先や分割の条件、自動で止める条件を決められます。この記事では、出力ファイルに関する設定を、実際にキャプチャを取って確かめていきます。

この記事でわかること
  1. キャプチャオプションの出力タブで、保存先のファイルを指定する
  2. パケット数・サイズ・時間・時刻を条件に、ファイルを分割する
  3. 圧縮とリングバッファで、ディスクの使用量を抑える
  4. オプションタブで、キャプチャを自動で止める条件を決める

キャプチャオプション

キャプチャオプションは、メニューの キャプチャ ›› オプション(Ctrl+K)で開きます。画面は「入力」「出力」「オプション」の3つのタブに分かれています。

タブ設定できること
入力キャプチャするインタフェース、キャプチャフィルタ
出力保存するファイル、ファイル形式、ファイル分割の条件、圧縮、リングバッファ
オプション表示や名前解決の設定、キャプチャを自動で止める条件、一時ファイルの保存先

キャプチャする対象のパケットを絞り込みたい場合は、入力タブのキャプチャフィルタを使います。設定方法は次の記事を参考にしてください。

>> 参考記事:【Wireshark】キャプチャ取得するパケットをフィルタする

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

Wireshark・キャプチャオプション画面イメージ
入力 出力 オプション
保存ファイルにキャプチャ
1ファイル一時ファイルを使うため空白にしておきます 参照…
2出力形式◉ pcap-ng形式○ pcap形式
新規ファイルの作成
3☐ 新規ファイルを自動的に作成します…
☐ 後100000 パケット
☐ 後1 キロバイト
☐ 後1 秒
☐ 時刻が複数の1 時
4圧縮◉ なし○ gzip
5☐ リングバッファを用いる2 ファイル
開始閉じるヘルプ
図1 キャプチャオプションの出力タブ(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1ファイルキャプチャを保存するファイル。空白のままだと一時ファイルに保存されます
2出力形式pcapng 形式(既定)か pcap 形式を選びます
3新規ファイルを自動的に作成しますチェックすると、下の条件でファイルを分割します
4圧縮分割したファイルを gzip で圧縮します
5リングバッファを用いる残すファイルの数を決めます(ファイル分割と組み合わせて使います)

出力タブの設定

出力タブでは、保存するファイルと、ファイルを分割する条件を設定します。

保存ファイルにキャプチャ

キャプチャファイルの保存先を指定します。ファイル欄の横の「参照…」をクリックすると、保存先を選ぶ画面が開きます。今回は、C:¥save_capture フォルダに capture-test.pcap というファイル名で保存します。

キャプチャファイルを指定します画面イメージ
1Windows (C:) ›› save_capture
2ファイル名capture-test.pcap
ファイルの種類すべてのファイル
3保存(S)キャンセル
図2 保存先とファイル名の指定(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1保存先C:¥save_capture フォルダを開きます
2ファイル名capture-test.pcap と入力します
3保存クリックすると、出力タブのファイル欄に保存先のパスが入ります

出力タブのファイル欄に C:/save_capture/capture-test のようにパスが入ったことを確かめて、「開始」をクリックします。キャプチャを止めると、指定したフォルダにキャプチャファイルが保存されています。

エクスプローラー画面イメージ
PC ›› Windows (C:) ›› save_capture
名前更新日時種類サイズ
1capture-test2022/11/20 0:32Wireshark capture…6 KB
図3 保存されたキャプチャファイル(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1capture-test指定したファイル名で、キャプチャデータが1つのファイルに保存されています

ただし、このままでは1つのファイルに書き込み続けるので、長時間キャプチャするとファイルが大きくなっていきます。

補足
  • ファイル欄を空白のままにすると、キャプチャは一時ファイルに保存されます。一時ファイルの場所は、オプションタブの「一時ファイルのディレクトリ」に表示されます。
  • 出力形式の既定は pcapng 形式です。拡張子を形式に合わせておく(pcapng 形式なら .pcapng)と、あとでファイルを見たときに形式を取り違えません。

ファイル分割

「新規ファイルを自動的に作成します…」にチェックを入れて条件を指定すると、条件を満たすたびに新しいファイルに切り替わり、キャプチャが複数のファイルに分かれて保存されます。分割する条件は次の4つです。

Wireshark・キャプチャオプション画面イメージ
入力 出力 オプション
1☑ 新規ファイルを自動的に作成します…
2☐ 後100000 パケット
3☐ 後1 キロバイト
4☐ 後1 秒
5☐ 時刻が複数の1 時
圧縮◉ なし○ gzip
☐ リングバッファを用いる2 ファイル
図4 ファイル分割の条件(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.条件新しいファイルに切り替わるタイミング検証で
設定した値
1新規ファイルを自動的に作成チェックすると、下の条件が使えるようになります―
2取得パケット数ファイルに入ったパケットが指定した数になったとき100000 パケット
3ファイルサイズファイルが指定したサイズに達したとき1 メガバイト
4取得時間そのファイルに書き始めてから、指定した時間がたったとき3 分
5時刻が複数の時計の時刻が、指定した間隔の倍数になったとき5 分

分割したファイルの名前は、指定したファイル名のあとに通番と作成日時が付いた capture-test_00001_20221120004151 のような形になります。以下、条件ごとに結果を確かめます。

取得パケット数

設定したパケット数をキャプチャすると、新しいファイルに切り替わります。今回は 100000 パケットにチェックを入れて、キャプチャを開始しました。保存先フォルダを見ると、ファイルが分割されて保存されています。

エクスプローラー画面イメージ
PC ›› Windows (C:) ›› save_capture
名前更新日時サイズ
1capture-test_00001_202211200041512022/11/20 0:4888,865 KB
capture-test_00002_202211200048222022/11/20 0:48247 KB
図5 100000 パケットごとに分割されたファイル(実際の画面ではなく、表示のポイントを示したイメージです)

通番 00001 のファイルを Wireshark で開くと、最後のパケットの番号が 100000 になっていて、100000 パケット分が1つのファイルに入っていることがわかります。

capture-test_00001_20221120004151(Wireshark)画面イメージ
No.TimeSourceDestination
99996390.347078(伏せています)(伏せています)
99997390.350529(伏せています)(伏せています)
99998390.350529(伏せています)(伏せています)
99999390.350529(伏せています)(伏せています)
100000390.350529(伏せています)(伏せています)
図6 通番 00001 のファイルの最後のパケット(実際の画面ではなく、表示のポイントを示したイメージです)

ファイルサイズ

ファイルが指定したサイズに達すると、新しいファイルに切り替わります。今回は 1 メガバイトにチェックを入れて、キャプチャを開始しました。

エクスプローラー画面イメージ
PC ›› Windows (C:) ›› save_capture
名前更新日時サイズ
1capture-test_00001_202211200053462022/11/20 0:53978 KB
capture-test_00002_202211200053562022/11/20 0:53978 KB
capture-test_00003_202211200053572022/11/20 0:54977 KB
⋮
capture-test_00001_20221120005346 のプロパティ
2サイズ977 KB (1,000,876 バイト)
図7 1 メガバイトごとに分割されたファイル(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1978 KB、977 KB約 1MB ごとにファイルが分かれています
21,000,876 バイト1 メガバイト(1,000,000 バイト)を超えたところで、次のファイルに切り替わっています
補足

プロパティでは 1,000,876 バイトが「977 KB」と表示されています。エクスプローラーは 1KB を 1024 バイトとして数えるため、1,000,000 バイト前後のファイルは 1000 KB より小さい数字で表示されます。

取得時間

そのファイルに書き始めてから指定した時間がたつと、新しいファイルに切り替わります。今回は 3 分にチェックを入れて、キャプチャを開始しました。

エクスプローラー画面イメージ
PC ›› Windows (C:) ›› save_capture
名前更新日時
1capture-test_00001_202211200107172022/11/20 1:10
capture-test_00002_202211200110172022/11/20 1:13
capture-test_00003_202211200113182022/11/20 1:16
capture-test_00001_20221120010717 のプロパティ
サイズ11.4 MB (12,003,088 バイト)
2作成日時2022年11月20日、1:07:17
更新日時2022年11月20日、1:10:17
図8 3 分ごとに分割されたファイル(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
11:10、1:13、1:163 分おきにファイルの書き込みが終わっています
2作成 1:07:17
更新 1:10:17
1つ目のファイルは 1:07:17 に作成され(キャプチャ開始)、3 分後の 1:10:17 に書き込みが終わっています

時計の倍数間隔(時刻が複数の)

時計の時刻が指定した間隔の倍数になったときに、新しいファイルに切り替わります。たとえば 5 分にすると、1時35分、1時40分といった 5 分の区切りでファイルが分かれます。今回は 5 分にチェックを入れて、キャプチャを開始しました。

エクスプローラー画面イメージ
Windows (C:) ›› save_capture
名前更新日時
1capture-test_00001_202211200131242022/11/20 1:35
capture-test_00002_202211200135002022/11/20 1:40
capture-test_00003_202211200140002022/11/20 1:45
1つ目のファイル(capture-test_00001_20221120013124)のプロパティ
2作成日時2022年11月20日、1:31:24
更新日時2022年11月20日、1:35:00
2つ目のファイル(capture-test_00002_20221120013500)のプロパティ
3作成日時2022年11月20日、1:35:00
更新日時2022年11月20日、1:40:00
図9 時刻の 5 分区切りで分割されたファイル(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
11:35、1:40、1:45時計の 5 分区切りでファイルの書き込みが終わっています
2作成 1:31:24
更新 1:35:00
1:31 に開始したので、1つ目のファイルは最初の区切りの 1:35:00 までの約 3 分半で終わっています
3作成 1:35:00
更新 1:40:00
2つ目からは、区切りから区切りまでの 5 分ずつになります

取得時間と時計の倍数間隔は、どちらも時間で分割しますが、切り替わるタイミングが違います。取得時間は開始した時刻から数え、時計の倍数間隔は時計の区切りに合わせます。ファイル名の時刻がそろうので、障害の発生時刻からファイルを探すときは、時計の倍数間隔のほうが探しやすくなります。

取得時間(3分)で分割 開始から3分たつごとに切り替わる _000013分_00002約3分_00003 1:07:171:10:171:13:18 (開始) 時刻が複数の(5分)で分割 時計の5分区切りで切り替わる _000013分36秒_000025分_00003 1:31:241:35:001:40:00
図10 取得時間と時計の倍数間隔の違い(検証時のファイルの作成・更新時刻から作図)

圧縮とリングバッファ

ファイル圧縮

分割したファイルを自動で圧縮することもできます。圧縮するときは、圧縮の「gzip」を選びます。今回は 1 メガバイトでファイルを分割し、gzip を選んでキャプチャを開始しました。

エクスプローラー画面イメージ
Windows (C:) ›› save_capture
名前更新日時種類
1capture-test_00001_20221120014912.pcap.gz2022/11/20 1:49GZ ファイル
capture-test_00002_20221120014928.pcap.gz2022/11/20 1:49GZ ファイル
capture-test_00003_20221120014930.pcap.gz2022/11/20 1:49GZ ファイル
capture-test_00004_20221120014948.pcap.gz2022/11/20 1:50GZ ファイル
capture-test_00005_20221120015005.pcap.gz2022/11/20 1:50GZ ファイル
capture-test_00005_202211200150052022/11/20 1:50Wireshark capture…
図11 gzip で圧縮されたファイル(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1.pcap.gz分割したファイルが gzip で圧縮されて保存されています。画面の最後の行には、通番 00005 の圧縮前のファイルも表示されています

Wireshark は gzip で圧縮されたキャプチャファイルもそのまま開けます。

リングバッファ

保存するファイルの数を制限したいときは、リングバッファを使います。リングバッファを使うと、指定した数の最新のファイルだけが残り、古いファイルから消えていきます。リングバッファは、ファイル分割と組み合わせて使う設定です。今回は 1000 キロバイトでファイルを分割し、リングバッファを 3 にしてキャプチャを開始しました。

Wireshark・キャプチャオプション画面イメージ
入力 出力 オプション
☑ 新規ファイルを自動的に作成します…
⋮ (中略)
1☑ 後1000 キロバイト
⋮ (中略)
2☑ リングバッファを用いる3 ファイル
エクスプローラー(Windows (C:) ›› save_capture)
名前更新日時サイズ
3capture-test_00019_202211200156582022/11/20 1:57978 KB
capture-test_00020_202211200157332022/11/20 1:57978 KB
capture-test_00021_202211200157332022/11/20 1:57177 KB
図12 リングバッファの設定と、残ったファイル(実際の画面ではなく、設定項目と表示のポイントを示したイメージです)
No.項目・表示内容
11000 キロバイト分割の条件。約 1MB ごとに新しいファイルに切り替えます
2リングバッファ 3残すファイルの数を 3 にします
3通番 00019〜00021通番は 00021 まで進んでいますが、残っているのは最新の 3 ファイルだけです
リングバッファ:最新の3ファイルを残す _00001〜_00018古い順に削除済み _00019978 KB_00020978 KB_00021177 KB 古い 新しい 分割の条件は 1000 キロバイト。ファイルが1つ増えるたびに、いちばん古いファイルが消える
図13 リングバッファの動き(検証時に残ったファイルから作図)

ファイル分割とリングバッファを組み合わせると、ディスクの使用量の上限が「1ファイルの大きさ × ファイル数」で決まります。障害が再発するのを待つときなど、止めずにキャプチャし続けたい場合に便利です。

キャプチャの自動停止

オプションタブで停止の条件を決める

オプションタブの「…後に自動的にキャプチャを停止」で、条件を満たしたときにキャプチャを自動で止められます。条件は、取得パケット数、作成されたファイル数、ファイルサイズ、取得してからの経過時間の4つです。

Wireshark・キャプチャオプション画面イメージ
入力 出力 オプション
表示オプション/名前解決
⋮ (中略)
…後に自動的にキャプチャを停止
1☐ 1パケット
2☐ 1ファイル
3☐ 1キロバイト(グレー表示)
4☐ 1秒
一時ファイルのディレクトリ
ディレクトリC:¥Users¥(伏せています)¥AppD… 参照…
開始閉じるヘルプ
図14 キャプチャを自動で止める条件(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.条件キャプチャが止まるタイミング
1パケット指定した数のパケットをキャプチャしたとき
2ファイル指定した数のファイルを作成したとき
3ファイルサイズファイルが指定したサイズに達したとき。ファイルを分割せず1つのファイルに保存するときに使える条件で、分割を設定していると、画面のようにグレー表示になります
4経過時間キャプチャを始めてから、指定した時間がたったとき

たとえば、ファイル分割と「ファイル」の条件を組み合わせると、決めた数のファイルを作ったところでキャプチャが止まります。リングバッファのように古いファイルを消さずに、最初から一定の量だけ取りたいときに使えます。

コマンドで設定する場合(dumpcap)

Wireshark に同梱されているコマンドラインのキャプチャツール dumpcap でも、同じ条件を指定できます。サーバなどで GUI を使わずに長時間キャプチャするときに使います。

オプションキャプチャオプションの画面での項目
-w ファイル名保存ファイルにキャプチャ(出力タブ)
-b packets:値新規ファイルの作成:パケット数
-b filesize:値新規ファイルの作成:ファイルサイズ(単位は kB)
-b duration:値新規ファイルの作成:取得時間(単位は秒)
-b interval:値新規ファイルの作成:時刻が複数の(単位は秒。3600 なら毎時0分)
-b files:値リングバッファ
-a packets:値
-a files:値
-a filesize:値
-a duration:値
自動停止の条件(パケット数/ファイル数/ファイルサイズ/経過時間)

まとめ

やりたいこと場所設定
キャプチャをファイルに保存する出力タブ保存ファイルにキャプチャ(ファイル名)
ファイルを分割する出力タブ新規ファイルを自動的に作成(パケット数・サイズ・取得時間・時刻)
時計の区切りでファイルを分ける出力タブ時刻が複数の(例:5 分)
ディスクの使用量を抑える出力タブ圧縮(gzip)、リングバッファ(残すファイル数)
キャプチャを自動で止めるオプションタブ…後に自動的にキャプチャを停止(パケット・ファイル・サイズ・時間)

長時間キャプチャするときは、「ファイル分割+リングバッファ」で上限を決めておくと、ディスクがいっぱいになる心配がなくなります。障害の発生時刻からファイルを探すことが多いなら、時計の倍数間隔で分割しておくと便利です。

コメント