Tshark でのファイルローテーションの自動化

WiresharkWiresharkBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Wireshark の dumpcap ユーティリティを使用して Tshark でファイルの自動ローテーションを行い、効率的なパケットキャプチャ管理を学びます。サイズベースのローテーション(-b filesize:1000 で 1MB 制限)とカウントベースのローテーション(-b files:5 で 5 ファイル制限)の両方を設定し、ネットワーク分析中のディスクスペースを最適化します。

この実験では、ローテーションパラメータを指定して eth1 インターフェイスでトラフィックをキャプチャし、出力ファイルを検証する手順を案内します。これらの手法を使用することで、長時間の監視セッション中にストレージのオーバーロードを防ぎながら、整理されたパケットキャプチャを維持することができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/interface("Interface Overview") wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/interface -.-> lab-548915{{"Tshark でのファイルローテーションの自動化"}} wireshark/packet_capture -.-> lab-548915{{"Tshark でのファイルローテーションの自動化"}} wireshark/commandline_usage -.-> lab-548915{{"Tshark でのファイルローテーションの自動化"}} end

-b filesize:1000 で 1MB のファイルサイズを設定する

このステップでは、Wireshark のパケットキャプチャユーティリティ dumpcap を設定して、キャプチャファイルのサイズが 1MB に達したときに自動的に新しいファイルを作成するようにします。この手法はファイルローテーションと呼ばれ、単一のキャプチャファイルが過度に大きくなるのを防ぐことで、ディスクスペースの管理に役立ちます。

-b filesize: パラメータは、キロバイト(KB)で最大ファイルサイズを指定することでこの動作を制御します。1000KB は約 1MB に相当するため、この設定では現在のキャプチャがそのサイズに達するたびに新しいファイルが作成されます。これは、管理しやすいファイルサイズを維持したい長時間のキャプチャに特に有用です。

設定手順をステップバイステップで説明します。

  1. まだ開いていない場合は、LabEx 仮想マシンでターミナルを開きます。ターミナルはすべてのコマンドを実行する場所です。

  2. キャプチャを開始する前に、正しい作業ディレクトリにいることを確認する必要があります。次のコマンドを実行してプロジェクトフォルダに移動します。

    cd ~/project
  3. ここで、サイズ制限を設定してパケットキャプチャを開始します。ターミナルで次のコマンドを実行します。

    sudo dumpcap -i eth1 -b filesize:1000 -w capture.pcapng

    このコマンドの各部分が何をするかを分解して説明します。

    • sudo は、パケットキャプチャに必要な管理者権限を付与します。
    • dumpcap は Wireshark のコマンドラインキャプチャツールです。
    • -i eth1 は、dumpcap に eth1 ネットワークインターフェイスを監視するよう指示します。
    • -b filesize:1000 は、1MB のローテーション閾値を設定します。
    • -w capture.pcapng は、出力のベースファイル名を指定します。

キャプチャはターミナルで継続的に実行されます。約 1MB のデータを収集すると、システムが自動的に増分番号付きの新しいファイル(capture_00001.pcapng のような)を作成し、元の capture.pcapng をアクティブなファイルとして維持することがわかります。このローテーションはバックグラウンドでシームレスに行われます。

-b files:5 で 5 つのファイルに制限する

このステップでは、Wireshark の dumpcap ユーティリティが作成するパケットキャプチャファイルの数を制御する方法を探ります。長時間にわたってネットワークトラフィックをキャプチャする場合、ファイルサイズと総ファイル数の両方を制限することでストレージスペースを管理することが重要です。

-b files: パラメータを使用すると、ローテーションされるキャプチャファイルの最大数を設定できます。前のレッスンで学んだ -b filesize と組み合わせることで、以下のような効率的なローテーションシステムを構築できます。

  • 現在のファイルがサイズ制限に達すると新しいファイルが作成されます。
  • 指定された数のファイルのみが保持されます。
  • 制限に達すると、最も古いファイルが上書きされます。

これを 5 つのファイルに制限する実践的な例で実装してみましょう。

  1. まず、前の演習で実行中のキャプチャがある場合は、ターミナルウィンドウで Ctrl+C を押して停止します。これにより、新しく始めることができます。

  2. キャプチャファイルを保存する作業ディレクトリに移動します。次のコマンドを実行します。

    cd ~/project
  3. ここで、サイズ制限と数制限の両方を設定してキャプチャコマンドを実行します。

    sudo dumpcap -i eth1 -b filesize:1000 -b files:5 -w capture.pcapng

    このコマンドを分解して説明します。

    • -i eth1 は、メインのネットワークインターフェイスからキャプチャします。
    • -b filesize:1000 は、各ファイルを 1000 キロバイト(1MB)に制限します。
    • -b files:5 は、正確に 5 つのローテーションファイルを維持します。
    • -w capture.pcapng は、ベースとなるファイル名のパターンを設定します。

キャプチャが実行されると、capture_00001.pcapngcapture_00002.pcapng などの名前のファイルが表示されます。システムはこれらのファイルを自動的に管理し、最新の 5 つのファイルのみを保持し、ストレージスペースを効率的に再利用します。

-i eth1 でキャプチャを開始する

このステップでは、Wireshark の dumpcap ツールを使用して、eth1 インターフェイスでネットワークトラフィックのキャプチャを開始します。これが実践的なネットワーク分析の始まりです。つまり、ネットワーク接続から実際のパケットデータを収集することです。

-i eth1 の部分は、dumpcap にどのネットワークインターフェイスを監視するかを指示します。ほとんどの Linux システムでは、eth1 はメインの有線 Ethernet 接続を表します。これは、音を録音するときにどのマイクを使うかを選ぶようなものです。ここでは、どのネットワークの「耳」を通して聴くかを選択しています。これを先に学んだファイルローテーション設定と組み合わせることで、完全な自動キャプチャソリューションを構築します。

手順をステップバイステップで説明します。

  1. まず、作業ディレクトリに移動します。これにより、すべてのキャプチャファイルが正しい場所に保存されます。

    cd ~/project
  2. ここで、キャプチャコマンドを実行します。このコマンドはいくつかのことを一度に行います。

    • -i eth1 は eth1 インターフェイスを監視します。
    • -b filesize:1000 は、各キャプチャファイルを 1000 キロバイトに制限します。
    • -b files:5 は、最大 5 つのローテーションファイルを保持します。
    • -w capture.pcapng は、出力のベースファイル名を設定します。
    sudo dumpcap -i eth1 -b filesize:1000 -b files:5 -w capture.pcapng
  3. コマンドが成功すると、以下のようなリアルタイムの統計情報が表示されます。

    • 現在のキャプチャファイル名
    • キャプチャされたパケット数
    • 見逃された可能性のあるパケット
    File: capture_00001.pcapng
    Packets captured: 42
    Packets received/dropped on interface eth1: 42/0 (100.0%)

キャプチャは、Ctrl+C で停止するまで継続します。この間、設定に従って自動的にファイルローテーションを管理し、ファイルがサイズ制限に達すると新しいファイルを作成し、常に正確に 5 つのファイルを維持します。

ls/dir でファイルを確認する

このステップでは、Wireshark の dumpcap ユーティリティによって作成されたパケットキャプチャファイルを検証します。この検証プロセスは、ネットワークキャプチャ設定の 2 つの重要な側面、つまりファイルローテーションが設定通りに動作していることと、キャプチャファイルが適切に保存されていることを確認できるため、非常に重要です。

Tshark のファイルローテーション機能を使用する場合、ls コマンド(Windows では dir)が出力を調べるための主要なツールになります。このコマンドは Linux/Unix システムでディレクトリの内容を一覧表示します。ここでは、プロジェクトディレクトリ内のキャプチャファイルを調べるために使用します。

キャプチャファイルの 3 つの重要な特性を確認します。

  1. 存在: キャプチャファイルが実際に作成されていることを確認します。
  2. サイズ: 各ファイルがおおよそ 1MB であることを確認します(ステップ 1 で -b filesize フラグを使用して指定した通り)。
  3. 数量: 5 つを超えるファイルが存在しないことを確認します(ステップ 2 で -b files パラメータを使用して制限した通り)。

キャプチャファイルを適切に調べる方法は次の通りです。

  1. まず、現在実行中のキャプチャプロセスを停止する必要があります。Tshark が実行されているターミナルで Ctrl+C を押して、キャプチャを正常に停止します。これにより、検査中にファイルに書き込みが行われないことが保証されます。

  2. 次に、プロジェクトディレクトリ内のすべてのキャプチャファイルを詳細情報とともに一覧表示します。-lh フラグを使用すると、ファイルサイズが MB/GB で表示される人間が読みやすい形式で出力されます。

    ls -lh ~/project/capture*.pcapng
  3. 適切なサイズの複数のキャプチャファイルが表示される、次のような出力が表示されるはずです。

    -rw-r--r-- 1 root root 1.0M Mar 1 10:15 capture_00001.pcapng
    -rw-r--r-- 1 root root 1.0M Mar 1 10:16 capture_00002.pcapng
    -rw-r--r-- 1 root root 1.0M Mar 1 10:17 capture_00003.pcapng
  4. 最後に、ファイル数の制限が機能していることを検証するために、このコマンドを実行してキャプチャファイルの数をカウントします。-1 フラグを使用すると、各ファイルが別々の行に表示され、wc -l でその行数をカウントします。

    ls -1 ~/project/capture*.pcapng | wc -l

    出力は 5 以下になるはずで、これによりファイルローテーションが保持するファイルの数を適切に制限していることが確認できます。

まとめ

この実験では、Wireshark の dumpcap ユーティリティを使用して Tshark でファイルローテーションを自動化する方法を学びました。主要な技術として、-b filesize:1000 でファイルサイズの制限を設定し、-b files:5 でファイル数を制御することで、ストレージ管理を最適化する方法が含まれていました。

実践的な演習では、インターフェイスの選択 (-i eth1) と出力の指定 (-w) を伴ってこれらのパラメータを実装する方法を示し、その後に検証手順を行いました。この方法により、効率的なパケットキャプチャを行いながら、整理されたファイルローテーションとストレージ管理を維持することができます。