Tshark を使ったネットワークトラフィックの分析とエクスポート
このステップでは、Tshark を使ってネットワークトラフィックをさまざまな形式でエクスポートし、基本的なトラフィック分析を行う方法に焦点を当てます。これらのスキルは、キャプチャしたデータを同僚と共有したり、他のツールで使用したりすることができるため、非常に重要です。このセクションの終わりまでに、さまざまなファイル形式を扱い、ネットワークトラフィックから有益な情報を抽出できるようになります。
キャプチャファイル形式の理解
有名なネットワークプロトコルアナライザーである Wireshark は、いくつかのキャプチャファイル形式をサポートしています。各形式には独自の特徴があり、後でデータをどのように使用できるかを決定するため、理解することが重要です。
- pcapng:これは Wireshark が使用するデフォルトの形式です。複数のインターフェースをサポートし、高度な機能を備えています。複雑なネットワークシナリオをキャプチャする必要がある場合に最適な選択肢です。
- pcap:古典的な形式です。古いツールと互換性がありますが、pcapng と比較すると機能が少ないです。レガシーシステムで作業する必要がある場合は、この形式が最適な選択肢になるかもしれません。
- csv:カンマ区切り値です。この形式は、データをスプレッドシートにインポートしてさらに分析する場合に非常に便利です。
- json:JavaScript Object Notation です。プログラミング言語で簡単に解析できるため、プログラムによる分析に最適です。
- text:人間が読めるプレーンテキスト形式です。特別なツールを使用せずにデータをすぐに表示したい場合に便利です。
さまざまなファイル形式へのエクスポート
キャプチャファイルの形式を変更するには、Tshark の -F
オプションを使用できます。一般的なコマンド構造は次のとおりです。
tshark -r <input_file> -F <format> -w <output_file>
ここで、-r
は入力ファイルを指定し、-F
は出力形式を設定し、-w
は出力ファイルを定義します。
例を挙げて、キャプチャを pcap 形式にエクスポートしてみましょう。
tshark -r /home/labex/project/capture.pcapng -F pcap -w /home/labex/project/export.pcap
このコマンドが正常に実行されると、画面には何も出力されません。エクスポートが成功したことを確認するには、ls
コマンドを使用してエクスポートされたファイルの詳細をリストできます。
ls -l /home/labex/project/export.pcap
次のような出力が表示されるはずです。
-rw-r--r-- 1 labex labex 22468 Jan 27 12:45 /home/labex/project/export.pcap
プロトコル統計の分析
Tshark はファイルのエクスポートだけでなく、キャプチャされたトラフィックに関するさまざまな統計を生成するのにも役立ちます。これらの統計分析オプションのいくつかを探ってみましょう。
プロトコル階層統計
キャプチャ内でさまざまなプロトコルがどのように分布しているかを確認したい場合は、次のコマンドを使用できます。
tshark -r /home/labex/project/capture.pcapng -z io,phs
-z
オプションは統計の種類を指定するために使用されます。この場合、io,phs
はプロトコル階層統計を表します。出力には、プロトコルの階層と各プロトコルのパケットの割合が表示されます。
Protocol Hierarchy Statistics
|
+ Ethernet
+ Internet Protocol Version 4
+ Transmission Control Protocol
+ Transport Layer Security
+ Hypertext Transfer Protocol Secure
+ User Datagram Protocol
+ Domain Name System
会話統計
ネットワーク内のエンドポイント間の会話を分析するには、次のコマンドを使用できます。
tshark -r /home/labex/project/capture.pcapng -z conv,tcp
このコマンドは TCP 会話に焦点を当てています。関与するエンドポイント、交換されたパケットの数、転送された総バイト数などの統計が表示されます。
TCP Conversations
| <- | | -> | | Total | Relative | Duration |
| Frames Bytes | | Frames Bytes | | Frames Bytes | Start | |
192.168.1.100:43210 <-> 93.184.216.34:443 24 18765 18 4532 42 23297 0.000000000 8.2345
HTTP リクエスト統計
キャプチャに HTTP トラフィックが含まれている場合は、次のコマンドを使用して HTTP リクエストを分析できます。
tshark -r /home/labex/project/capture.pcapng -z http,tree
このコマンドは、HTTP リクエストを URI ごとに整理し、各 URI のリクエスト数を表示します。
HTTP/Requests:
/index.html 1 requests
/images/logo.png 2 requests
さまざまなテキスト形式へのエクスポート
バイナリ形式以外に、Tshark はデータをテキスト形式にエクスポートすることもできます。テキスト形式は分析がしやすいことが多いです。
CSV へのエクスポート
キャプチャから特定のフィールドを CSV ファイルにエクスポートするには、次のコマンドを使用できます。
tshark -r /home/labex/project/capture.pcapng -T fields -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport -E header=y -E separator=, > /home/labex/project/tcp_summary.csv
ここで、-T fields
は特定のフィールドをエクスポートすることを指定します。-e
オプションは、エクスポートしたいフィールド、たとえばフレーム番号、送信元と宛先の IP アドレス、送信元と宛先の TCP ポートを定義するために使用されます。-E header=y
は CSV ファイルにヘッダーを追加し、-E separator=,
は区切り文字をカンマに設定します。
CSV エクスポートの確認
データを CSV ファイルにエクスポートした後、head
コマンドを使用してファイルの最初の数行をすぐに表示できます。
head -5 /home/labex/project/tcp_summary.csv
出力は次のようになるかもしれません。
frame.number,ip.src,ip.dst,tcp.srcport,tcp.dstport
1,192.168.1.100,93.184.216.34,43210,443
2,93.184.216.34,192.168.1.100,443,43210
3,192.168.1.100,93.184.216.34,43210,443
...