特定のインタフェースに流れるパケットをキャプチャしてファイルに残すことが 出来るコマンド。取得したファイルはwiresharkなどの有名なキャプチャツールで 開くことが出来る。
# snoop [option] [exporession]
【option】
-d インターフェース名
-r 名前解決しない
-V 概略表示
-v 詳細表示
-o ファイル出力
-i ファイル入力
【exporession】
host [ホスト名|IPアドレス] :対象となるホストを指定
port [ポート番号] :ポート番号を指定
[udp|tcp|icmp|icmp6|ah|esp] :対象プロトコルを指定
[and|or|not|!] :条件式を連結したい場合に指定
(例1)デバイスbge0に流れるパケットのうち、udp 1640ポートとtcp 10023ポートの データをキャプチャし、out.logに出力
# snoop -d bge0 -o out.log udp port 1640 or tcp port 10023
Using device /dev/bge0 (promiscuous mode)
0
|
※キャプチャ終了はCtrl+C (例2)デバイスbge1に流れるすべてのパケットを詳細モードで表示
# snoop -v -d bge1
|
※デバイスによってはめちゃめちゃ表示量が多くなるので注意 (例3)-oオプションで出力したファイルを読み込んで概略モードで表示
# snoop -V -i out.log
|
詳細モードで表示しても結果すべてのデータは見えないので、GUIのキャプチャ ツールなどで見たほうがわかりやすい。
【参考にさせて頂いたページ】
↓snoopコマンドの使い方: hibiki
http://h9.cocolog-nifty.com/blog/2006/08/snoop_9331.html
↓snoop - ネットワークパケットの取得および検査 http://docs.oracle.com/cd/E26924_01/html/E29114/snoop-1m.html#scrolltoc ↓snoopの使い方 http://www.it-folder.com/indexd.php?document=solaris10_nw_snoop&docdir=2008