ネットワークを管理する中で実際の通信でどのようなパケットが流れているかを
知りたいことがよくある
ここでは、「tcpdump」を使ってパケットキャプチャする
まずは、「tcpdump」をインストールする
URL:http://www.sunfreeware.com/からパッケージをダウンロードする
ダウンロードしたら、解凍して
(Solaris8)
# pkgadd -d tcpdump-3.9.4-sol8-sparc-local
「tcpdump」を使う
これで標準出力にキャプチャしたパケットが出力される
# tcpdump -vvi hme1 host 1.1.1.1 and ! port 23
オプションの意味としては、
「i」・・・キャプチャするインターフェースの指定
「vv」・・・取得する情報の詳細度合い。ほかにも「v」、「vvv」がある。多い方が詳細。
「host 1.1.1.1」・・・送信元あるいは送信先が1.1.1.1
「and」・・・条件式の結合。A and B・・・AかつB。orも使用できる。
「!」・・・続く表現を否定。notでも可。
「port 23」・・・TCPあるいはUDPで送信元あるいは送信先のポートが23
つまり、telnet以外で1.1.1.1がやり取りした通信をキャプチャしている
出力をファイルに保存する場合は、
テキストファイルができる
# tcpdump -vvi hme1 "host 1.1.1.1 and ! port 23" > /tmp/test.txt
上記のコマンドでパケットの流れは分析することができるが、
次の段階としてデータの中身なども分析したい
そこで、使用するのが「ethereal」
まずは、「ethereal」で分析できるようにデータを取得する必要がある
作成された/tmp/test.capは「ethereal」で分析することができる
# tcpdump -vvi hme1 -axs 512 -w /tmp/test.cap host 1.1.1.1 and ! port 23
テキストファイルではない
「ethereal」を使わずにこのファイルを見たい場合には
# tcpdump -r /tmp/test.cap