パケットキャプチャをしたいがどうしたらいいのやら
「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
お〜、ばっちりそれっぽいです。
ここで、時間切れなので、続きは明日。