パケットキャプチャをしたいがどうしたらいいのやら

「NTPのプロトコルを調べようとしてみたが…」d:id:maru_cc:20080225:1203946251 でNTPのパケットを調べるために、試行錯誤。

とりあえず、tcpdumpでいろいろ触ってみた。
tcpdumpを yumでインストールして、オプションやらポート指定やらを調べてみたりとか。

192.168.0.2にNTPサーバが立っているとして、host1からntpdateを実行する。

# /usr/sbin/ntpdate -p1 -s 192.168.0.2

そのときの、tcpdump結果

# tcpdump src port 123
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
10:23:47.416375 IP host1.ntp > 192.168.0.2.ntp: NTPv4, Client, length 48

1 packets captured
1 packets received by filter
0 packets dropped by kernel


もうちょっと詳しい情報を出してみると

# tcpdump -vvv src port 123
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
10:23:16.056919 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF], proto 17, length: 76) host1.ntp > 192.168.0.2.ntp: [udp sum ok] NTPv4, length 48
        Client, Leap indicator: clock unsynchronized (192), Stratum 0, poll 4s, precision -6
        Root Delay: 1.000000, Root dispersion: 1.000000, Reference-ID: (unspec)
          Reference Timestamp:  0.000000000
          Originator Timestamp: 0.000000000
          Receive Timestamp:    0.000000000
          Transmit Timestamp:   3412894279.858475999 (2008/02/25 11:11:19)
            Originator - Receive Timestamp:  0.000000000
            Originator - Transmit Timestamp: 3412894279.858475999 (2008/02/25 11:11:19)

1 packets captured
2 packets received by filter
0 packets dropped by kernel

なんとなく、やり取りをしている様子が見えるような気がするが、実際にやりとりしているプロトコルまで見ることが出来ない。
調べていくと、tcpdumpではヘッダまでしか見ないっぽいことを書かれていることを見つけたので、詳しいパケットキャプチャが出来るツールを探す。


Etherealというツールがすぐに見つかった。インストールしようとyumやCentOSのrpmなどを探したが見つからない。
さらにいろいろ調べていくと、どうやら、「Wireshark」というツールに分岐してそちらが動いているようだ。


それを踏まえてyum listを見てみると発見。さっそくinstall。

# yum install wireshark


これをインストール後に、実行ファイルを探したがそれらしいものが見つからない。
Web上の情報をぐぐると、ほとんどがGUIのツールの話ばかりだ。うちはCUIでやりたいのになー。


そんなときにこんなページに行き当たった。
http://www.logik.sakura.ne.jp/blog/2007/01/post_671.html

yum install wireshark
をしたんだけど、実行ファイルどれさ!?みたいな。オチはいうまでもないですね、CUI版のtsharkしか入ってないわけで。

お、考えていることは逆だが、「tshark」というツールがあるのか!


さっそくman tsharkを実行。

The Wireshark Network Analyzer
NAME
  tshark - Dump and analyze network traffic

お〜、ばっちりそれっぽいです。


ここで、時間切れなので、続きは明日。