【Windowsで大容量パケットキャプチャを実現】Wireshark達人への道 第十一歩 Windowsで大量パケットキャプチャ

2021年6月5日、題名を変更したよ。

本連載は、筆者がWiresharkの達人となるまでを追うドキュメンタリー作品である。

今回の記事では、Windows上でどのように大量のパケットをキャプチャするのかご紹介したい。通常Linuxでパケットキャプチャする場合、tcpdumpコマンドを利用する人が多いと思うが、Windows環境しか存在しない場合、本番環境で失敗できない、遠隔実行やバッチファイルを作成してパケットをキャプチャする必要があるといった時には、CUIでパケットをキャプチャできる知識を身に着けておくことが望ましい。

dumpcapというコマンドがあるので、こちらを使うのがどうやら吉のようだ。理由としては、Wiresharkに含まれるもっとも小さいプログラムで軽量で動作し、今回の目的のように大量のパケットをキャプチャするといった用途にはうってつけのコマンドだからだ。

大量のパケットをキャプチャする場合、100MBごとに保存することを強く推奨する。Wiresharkであまりに大きなpcapファイルを開こうとすると大量のリソースを食い、最悪の場合Wiresharkが落ちるといった事態に見舞われる。よって、24時間といった長いスケジュールで大量のパケットをディスクに保存するときは、100MB単位で保存することとしたい。dumpcapはそのようなコマンドオプションもある。早速利用の方法を見てみよう。

1. 管理者としてコマンドプロンプトを起動

コマンドプロンプトを一般ユーザー権限で起動するとpcapファイルを保存できない。よって、管理者権限でコマンドプロンプトを起動する必要がある。

図1 コマンドプロンプト起動

2. 文字コードをUTF-8に変更

文字コードをUTF8に変更する。デフォルトのWindowsの文字コードSHIFT JISでは文字化けが起こるからだ。また、dumpcap.exeが保存されているWiresharkのインストールディレクトリに移動する必要がある。デフォルトでは、”C:\Program Files\Wireshark”。

図2 文字コードの変更

3. インターフェイス番号の確認

オプションでインターフェイス番号を指定する必要があるので、dumpcapコマンドのオプション-Dでインターフェイス番号を確認すること。

図3 インターフェイス番号の確認

4. dumpcapコマンドの実行

100MBごとにファイルを生成、24時間実行のdumpcapコマンドを実行してみましょう。以下の図4の通りのオプションを指定してください。

図4 dumpcapコマンドの実行

オプションの説明をします。

-i # インターフェイス番号を指定します。-Dオプションで確認した番号を指定してください。例では、"5"(イーサネットとしています)
-b filesize:100000 # 100MBごとにファイルを生成します
-a duration:86400 # 24時間を秒で表した値です。指定数秒キャプチャを継続します。
-w 24hours.pcap # 出力するファイル名を指定します。C:\Program Files\Wiresharkディレクトリ以下にファイルを生成します

dumpcapコマンドを知らなかった方もいらっしゃるのではないでしょうか。是非活用していきましょう。

(Visited 6,360 times, 1 visits today)
The following two tabs change content below.
【好きなもの】 インフラ技術が好き。古いものが好き。 【生きてきたフィールド】 システム運用、ソフトウェア開発、ミドルウェア検証、OSSサポート、プリセールスエンジニア、プロジェクトマネジメント 【このサイトでの役割】 サイト管理者。