はじめに

仕事で SMB プロトコルのパケット解析ばかりするようになってきた.

少し Tips がたまってきたので, 忘れないうちにメモしようと思う. SMB2 限定.

かなりニッチな内容だけれども, いつかどこかで誰かの役に立つことを願う.

検索を利用する

Ctrl + F で検索窓か開くので, キーワードから検索.

Filter を利用する

素早く情報を検索するには, フィルタが有効.

  • ツールバーからフィルタのパターンを入力
  • よく利用するものは, save を押すと再利用可能
  • フィルタの追加, 削除は Edit > Preferences > Filter Expressions から.

以下, よく利用するものを列挙

smb プロトコルをフィルタする

これは基本. smb or smb2

IP アドレスでフィルタリング

サーバのログをみるとき, たくさんのクライアントからのアクセスがある ので, ログが見づらい. 以下で, 送信元または送信先でフィルタリング.

  • ip.addr == 10.0.0.1

送信元と先を指定する.

ip.addr == 10.0.0.1 and ip.addr == 10.0.0.0

NT Status が エラーのものをフィルタリングする

エラーを素早くチェックするために.

smb2.nt_status > 0

Command Code でフィルタリング

コマンドコードで絞込み.

create でフィルタ smb2.cmd==5

コマンドコード一覧

FileId でフィルタリング

create response コマンドにある fileId を追跡する.

smb2.fid==00004001-0000-0000-0000-000000000000

tshark を利用する

コマンドラインの tshark を利用したほうが, 操作が早いことに気付く. しかし, Detail をしっかりみるためには GUI 版の WireShark がいい.

smb でフィルタリンクしたものを吐き出し. これでログが軽くなる.

tshark -r hoge.pcapng -Y 'smb2' -w foo.pcapng

-Y でフィルタをかける. サブ画面でちょっとした grep をするのに便利.

tshark -r hoge.pcapng -Y ‘smb2.cmd==5’

エラーがないかなどを素早くチェックする.

tshark -r hoge.pcapng -Y ‘smb2.nt_status > 0’

Special Thanks