カテゴリー : capture

コマンドラインから wireshark (tshark)を起動する方法

コマンドラインからwireshak(tshark)を起動する方法は以下の通り。

tshark -i <インターフェイスID>
インターフェイスIDは、Linuxの場合「eth0」「eth1」「bond0」などを指定し
Windowsの場合は「1」「2」「3」などを指定する。

インターフェイスIDの確認方法

tshark -D

キャプチャ内容をファイルへ保存する方法は次のオプションを指定する。

-w <ファイル名>

保存するファイルを切り替えるには次のオプションを指定する。

-b duration:<切り替える時間(秒)>
-b filesize:<切り替えるファイルサイズ(KB)>
-b files:<ローテーションさせるファイル数>

キャプチャフィルタを使用するには次のオプションを指定する。

-f <フィルタ条件>

(例)TCP/80を除外して10分単位で保存先ファイルを切り替える場合

tshark -f not tcp port 80 -b duration:600 -w d:capture

batファイルを作成しておくと便利

@echo off
rem -i <インターフェイスID>
rem LinuxインターフェイスID
rem eth0/eth1/bond0 etc...
rem WindowsインターフェイスID
rem 1/2/3 etc...
rem インターフェイスIDチェック
rem tshark -D
rem -f <キャプチャフィルタ>
rem -w <ファイル名>
rem -b duration:<秒>
rem -b filesize:<KB>
rem -b files:<ファイル数>
set TSHARK_PATH=C:\"Program Files"\Wireshark\
set CAP_INTERFACE=1
set CAP_FILTER="not tcp port 80"
set FILE_SWITCH=duration:600
set SAVE_FILE_PATH=D:\
%TSHARK_PATH%tshark.exe -i %CAP_INTERFACE% -f %CAP_FILTER% -b %FILE_SWITCH% -w %SAVE_FILE_PATH%capture

環境:
Windows XP Professional SP3 (x86)
Wireshark 1.4.2 (x86)

wireshark の remote interface を使う方法

wiresharkのremote interfaceを使い、PC1のパケットキャプチャをPC2で表示する方法は以下の通り。

1. PC1(キャプチャ側)とPC2(モニタ側)にwiresharkをインストールする。

2. PC1(キャプチャ側)のサービスを開始する。

サービス名: rpcapd
表示名: Remote Packet Capture Protocol v.0 (experimental)

この時、Windows Firewallが通信を遮断する場合は、例外登録をしておく。
「プログラムの追加」→「C:\Program Files\WinPcap\rpcapd.exe」(デフォルトインストールの場合)
サービス開始後、TCP/2002がLISTENINGになっていることが確認できる。

3. PC2(モニタ側)でwiresharkを起動し、「capture option」の「interface」を「local」から「remote」へ切り替える。
「HOST」へIPアドレスを入力する。「Authentication」を「Null authentication」から「Password authentication」
へ切り替え、「Usename」と「Password」を入力しOKボタンを押す。

4. パケットキャプチャを開始する。

環境:
Windows XP Professional SP3
wireshark 1.2.7

wireshark のキャプチャフィルタの謎

wiresharkを端末から使用している場合、デフォルトのキャプチャフィルタは空欄だが
リモートデスクトップで接続してから起動すると、「no tcp port 3389」が設定される。

環境変数SESSIONNAMEにRDPという文字列が入っているかどうかで判断している様子。

端末からwiresharkを起動し、キャプチャフィルタが空欄であることを確認し一度終了させる。
次に、DOSプロンプトから「SESSIONNAME」に「RDP」と設定した後、wiresharkを立ち上げると
キャプチャフィルタに「no tcp port 3389」と設定されることが確認できた。

wiresharkのショートカットのリンク先を以下のようにしても同じ結果になった。
(wiresharkのインストール場所は環境に応じて変更)

C:\WINDOWS\system32\cmd.exe /c set SESSIONNAME=RDP
 & "C:\Program Files\Wireshark\wireshark.exe"

環境:
Windows XP Professional SP3
wireshark 1.2.6

TOP

INFORMATION

当サイトは備忘録であり、その内容を保証するものではありません。 当サイトまたはリンク先によるいかなるトラブルや損害に関しても、一切の責任を負いかねます。 当サイトの内容を無断で転用したり、転載する等の行為はおやめください。