tcpdump
最近帰るとばたんきゅうだから研究室の日誌をコピペすることにする.
とりあえず実験で使いそうなモノの覚書.
mam pageは http://www.linux.or.jp/JM/html/tcpdump/man1/tcpdump.1.html
tcpdumpとは
要約すると,条件に合致したパケットのヘッダを表示するツール。
つまり自分がみたいと思った条件を指定してやればそれにあうパケットを表示してくれるという、いざというとき頼りになるピッコロさんのような(?)ツール.
逆にいえばみたいと思う条件を適切に指定してやらないとヤジロベーばりに使えないということ。というわけでオプションをひとつひとつみていく.といってもそのままやるとmanpageのコピペになりそうなのでひとつひとつ印象を書いて覚えがきとすることにしよう。
tcpdumpのオプション
まずシンプルに表示を変えるオプションから
- n
アドレスの名前解決をしない.
DNS使っていない環境ではどうでもいい話.処理速度の関係で好んで付ける人がいるとか.
- i
インターフェースを指定
今回の実験Dネットワークではもっとも御世話になるオプション。
- i eth0 とかやって特定のインターフェースの通信を監視可能.
- x -X
パケットの中身を表示
当分御世話になることはなさそう.ちなみに小文字は16進 大文字はASCIIで表示
ファイル出入力関係
- F filename
条件式をfilenameから読み込む
イメージ的にForce のFなんだけど違うんだね.
というかtcpdumpにforce画筆用な状況がないのか.条件式の詳細は後述。
実験Dで何度も同じ条件使うならまとめてファイルにするとレポ書きやすいかも.
- w filename
ファイルに出力
これでファイルに保存すれば後で色々いじくれるしレポにも載せられるからきっと便利だ.
現場でログとるときなんかも使いそう。
- r filename
ファイルの中身を解析
流れてるパケットじゃなく,-wで作成したファイルの中身を再度評価して表示するらしい。
フィルタリングに使える条件式
そして問題の条件式
まず基本として
host ホスト名もしくはIPアドレス
port ポート名
net ネットワークアドレス
さらに
src 出るパケット
dst 入るパケット
あとプロトコルとして
ether, fddi, mopdl, ip, ip6, arp, rarp, decnet,
lat, sca, moprc, mopdl, icmp, icmp6, tcp, udp,
が指定可能。まあ使いそうなのは少ないけど.
他に
gateway host hostをゲートウェイとするパケット
broadcast ブロードキャスト。なお、ipとかetherとかを頭に付けて区別
multicast マルチキャスト 同上
less, greater 後ろにlengthをつけてパケットサイズで制限
などがある。
ここまで書いて思ったけど,条件指定するためには,目的とするパケットがどんな情報を含んでいて,他と異なる(=条件指定するに値する)情報はなんなのかとかちゃんと知ってないと意味ないよね.
TCPもっとまじめに勉強しないとなぁ...