WiresharkのTSharkを使いパケットキャプチャ
* <div style="padding:4px 5px;border-color:#f1c40f;border-width:0 0 0 6px;border-style:solid;">TSarkについて勉強</div>
ネットワーク分析の授業でTCPDUMP or Wiresharkを使って、パケットキャプチャデータを収集するというものがあったので、今後も使うことになりそうだしその際に参考にしたサイトのまとめ。自分はWiresharkのコマンドラインで実行する版のTSharkを使用した。
・WireSharkの裏技 〜 コマンドラインで実行できる「TShark」 〜
・パケットキャプチャ術で秘密もちょっぴりこぼれた? (1/5)
・Wireshark Display Filter Reference: Frame
・Export pcap data to csv: timestamp, bytes, uplink/downlink, extra info
上4つが特に参考になった気がする。
* <div style="padding:4px 5px;border-color:#f1c40f;border-width:0 0 0 6px;border-style:solid;">実際にターミナルで実行したコマンド</div>
>|zsh|
% tshark -D
1. en0 (Wi-Fi)
2. p2p0
3. en4 (Thunderbolt 1)
4. lo0 (Loopback)
||<
これでこのPCに備わっているNICの一覧が表示さる。
>|zsh|
% tshark -i 1 -a duration:3600 -w homework.pcap
||<
「1」というのは先のコマンドでのNICの番号に対応している。
「-a duration:3600」で3600秒=1時間たったらキャプチャをやめる事ができる。
「-w homework.pcap」でhomework.pacpにキャプチャしたものを保存する。
>|zsh|
% tshark -r homework.pcap -T fields -e frame.number -e frame.time -e frame.len -e frame.protocols > homework.csv
||<
課題では.pcapファイルを.csvに変換し、グラフを作成する必要があったのでこのように変換した。
frame.numberはフレームのNo
frame.timeは年/月/日/時、分、秒/経過時間
frame.lenはパケットのサイズ
frame.protocolsはプロトコル
を表している。
実際にWiresharkのように、経過時間のみを表示したいときは、
frame.time_relativeを使用すれば良い。
詳しいことは上から3つ目の記事を参考になります。
* <div style="padding:4px 5px;border-color:#f1c40f;border-width:0 0 0 6px;border-style:solid;">P.S</div>
有名なアプリケーションなのになぜWiresharkはこんなにもださいデザインなのか。ということで「Wireshark ださい」で検索したらこんな記事が出てきた。一部引用する。 ネットワークパケットを収集分析するWireShark
>>
この世とは思えないほどのださいデザインの画面が開きますが壊れているわけではありませんし、レスキューモードになっているわけでもありません。エンジニアとはこれぐらいのデザインでちょうど良いのです。
<<
そんなものなのだろうか…?(笑)
ウインドウの幅くらい変えられるようにして欲しいなあ…。