読者です 読者をやめる 読者になる 読者になる

NTPプロトコルのdump内容を見てみる

前回「パケットキャプチャ方法の調査中 - maru.cc@はてな」の続き。


tsharkコマンドを使用してのパケットキャプチャ。

  • dオプションを指定していたが、フィルタをするには、-zオプションのようだ。
[root@host1]# /usr/sbin/tshark -z conv,udp,ntp&&ip.addr==192.168.0.82

これで、192.168.0.82のサーバとのやり取りのみキャプチャできる。
しかし、SSHなどのほかのポートでのやり取りも全て保存されてしまう。
細かい指定方法もあるようだが、いまいちよくわからない。


次に、-xオプションを付けることで、送受信の内容を表示できる。
そのまま標準出力に出してしまうと、すごい勢いで流れていってしまうので、ファイルに保存してみる。
ファイルに保存するのは -w で指定。


サーバ1(192.168.0.82)で、NTPサーバを動かしつつ、パケットキャプチャ

[root@host1]# /usr/sbin/tshark -w log -x -z conv,udp,ntp&&ip.addr==192.168.0.82

サーバ2(192.168.0.237)で、ntpdateコマンドを実行してみる

[root@host2]# /usr/sbin/ntpdate -p1 -s 192.168.0.82


で、作成できたlogをとりあえず、lessで開いてみる。が、バイナリっぽいです。
tsharkで作成したファイルは -rオプションで読み込むことが出来る。

[root@host1]# /usr/sbin/tshark -r log | less

これだと、IP間やり取りの記録しか出てこない。読み取り時も-xオプションが必要なようです。

[root@host1]# /usr/sbin/tshark -r log -x | less

結果。
なんかMACアドレスっぽいのが出ていますが、ローカルサーバなので、いいかなーと思うのですが、どうなんでしょう?

 34   3.559788 192.168.0.237 -> 192.168.0.82 NTP NTP client

0000  00 0c 29 ea 50 20 00 08 74 dc f4 a4 08 00 45 00   ..).P ..t.....E.
0010  00 4c 00 00 40 00 40 11 b8 11 c0 a8 00 ed c0 a8   .L..@.@.........
0020  00 52 00 7b 00 7b 00 38 69 bb e3 00 04 fa 00 01   .R.{.{.8i.......
0030  00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050  00 00 cb 74 7f f2 fc 38 e2 9f                     ...t...8..

 35   3.560114 192.168.0.82 -> 192.168.0.237 ICMP Destination unreachable (Port unreachable)

0000  00 08 74 dc f4 a4 00 0c 29 ea 50 20 08 00 45 c0   ..t.....).P ..E.
0010  00 68 8e 08 00 00 40 01 69 3d c0 a8 00 52 c0 a8   .h....@.i=...R..
0020  00 ed 03 03 7f d6 00 00 00 00 45 00 00 4c 00 00   ..........E..L..
0030  40 00 40 11 b8 11 c0 a8 00 ed c0 a8 00 52 00 7b   @.@..........R.{
0040  00 7b 00 38 69 bb e3 00 04 fa 00 01 00 00 00 01   .{.8i...........
0050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 cb 74   ...............t
0070  7f f2 fc 38 e2 9f                                 ...8..


このデータを見つつ、RFCの仕様を見てみよう。
http://tools.ietf.org/html/rfc1305
http://tools.ietf.org/html/rfc2030
このあたりかな?