見出し画像

【データ解析】tsharkコマンドでpcapデータを解析

 こんにちは〜インフラエンジニアのtamolabです!皆さんはWireSharkをご利用になったことはございますでしょうか?WireSharkとは、多くのプロトコルに対応した高機能なパケット取得・プロトコル解析ソフトです。

こちらを利用すると、パケットの解析が可能になります。皆さんがカフェで利用しているWifiは誰かがWireSharkでパケット見ているかもしれないので注意してくださいね。とは言いつつも、SSL複合を行うわけではないので、見れる情報には制限はあります!

1. Wiresharkの課題

画像8

 Wiresharkを利用したことある方なら共感を得れると思いますが、フィルター機能を上手に利用しないととんでもないデータ量になります。小一時間ばかり通信をモニターしていると、100万-1000万行くらいのpcapファイルが生成されます。また、システム管理者やネットワーク管理者で、Linuxにてtcpdumpなどでデータ取得している方は1-10億行くらいのデータになるかと思います。この取得した膨大なデータをWiresharkアプリを起動して、読み込みを行うとアプリが落ちること間違いなしです笑

 そこで、膨大なデータを解析するときはtsharkコマンドを利用しましょう。tsharkコマンドとは、WiresharkのCLIバージョンだと思ってください。事実、Wiresharkアプリをダウンロードすると、tsharkパッケージもダウンロードされるので、利用できる状態になります。

 CLIなので、並列処理、シェルスクリプトでの記載、cron、grepなどなど、CLI職人にとってはpcapデータをかなり楽に扱えるようになります!

2. 環境設定

画像7

本記事ではMacOSで試しています。まずお持ちのMacでtsharkを利用できる状態にします。GUIでもCLIでもどちらからでも可能です。

GUI(Webから)でインストールの場合
 下記からインストールできます。
 https://www.wireshark.org/download.html

CLI(ターミナル)でインストールの場合

$ brew install wireshark

※まだhomebrew(brewコマンド)が利用できない場合は、下記を参考に利用できるようにしてみてください!
Homebrewのインストール方法

3. 実行

画像6

早速実行していきましょう!今回はtest.pcapというデータを見ていきます。

$ tshark -r test.pcap

これでデータの中身が確認できたと思います。
ちなみにデータの並び方と表示されている項目はデフォルト状態ですが、確認したいデータや表示順などを指定することができます。
GUIのWiresharkで列の表示変更を行った場合もtsharkコマンドの結果に影響されますのでご注意ください。

4. pcapファイルのフィルタリング方法

画像5

今回は下記の条件をつけてフィルタリングして、再度実行してみましょう。

【条件追加】
 
(※)通常のWireShark(GUI)で利用できるフィルター
 ・smb2プロトコルの通信に絞る
   smb2.tree && tcp.dstport==445
 ・ファイル名や利用認証ID名が抜けている余分な通信は除去する
   smb2.filename != "" && smb2.acct != ""
【表示設定
(※)通常のWireShark(GUI)で利用できる列の書き方
 ・認証ID名
   smb2.acct
 ・フォルダパス(共有パス)
   smb2.tree
 ・操作ファイル名
   smb2.filename
 ・アクセスしている端末名
   smb2.host

いざ、実行してみます。

# 実際は改行はないのでご注意ください
$ tshark -r test.pcap         
         -T fields 
         -e smb2.acct 
         -e smb2.tree 
         -e smb2.filename 
         -e smb2.host 
         -Y 'smb2.tree && tcp.dstport==445 && smb2.filename != "" && smb2.acct != ""'

下記のようにパイプやリダイレクトを利用して簡単に扱えるデータに変換ももちろん可能です。

$ tshark -r test.pcap <オプション系> | grep -i test
$ tshark -r test.pcap <オプション系> > test.csv

5. 便利なオプション

画像4

画像1

6. キーワード

画像3

#wireshark #tshark #pcap #データ解析 #homebrew

7. お問い合わせ

画像2

 本投稿のコメントでも構いませんし、下記からお問い合わせいただいても大丈夫です。
 note.tamolab@gmail.com



サポートをお願いいたしますmm もしXXXXな記事を書いて欲しい、XXXXな記事は不適切だなどのご要望がありましたら、お知らせください!