メランジ雑記帳

2010年6月9日

tracerouteの見方

カテゴリー: ネットワーク — admin @ 8:33 AM

man tracerouteで調べると、面白い。
traceroute 相手のIPアドレス
というような使い方をするのだが、最初はTTL(Time to Live)を1にしたUPDパケットでかつありえないポート(33434-33500)を指定したものを送る。
すると、最初のルータはTTLが1なのでICMPパケットでTime Exceeded(時間を超過)というコードを返す。そのルータのIPアドレスが返る。時間を測定することもできる。1つだけではばらつきに左右されるので、3回送って結果を見る。
同様にTTLを2にしたいい加減なUDPを送ると、2番めのルータがやはりTime Exceededを返す。
TTLを3にすれば3番めのルータがTime Exceedを返す。
そして最後の終着点までHOPが達すると、Port Unreachableが返るはずである。
ただし、この過程で問題が起きると、以下のようなビックリマーク(Exclamation Mark)がついた文字が表示される。

After the trip time, some additional annotation can be printed: !H, !N,
or !P (host, network or protocol unreachable), !S (source route
failed), !F (fragmentation needed), !X (communication administratively
prohibited), !V (host precedence violation), !C (precedence cutoff in
effect), or ! (ICMP unreachable code ). If almost all the
probes result in some kind of unreachable, traceroute will give up and
exit.

たとえば、

$ traceroute 192.168.100.250
traceroute to 192.168.100.250 (192.168.100.250), 30 hops max, 60 byte packets
1 rtx1000.domain.jp (192.168.0.1) 1.015 ms 1.364 ms 1.933 ms
2 rtx1200.domain.jp (192.168.0.180) 4.112 ms 5.609 ms 7.243 ms
3 rtx1200.domain.jp (192.168.0.180) 4984.919 ms !H 4984.902 ms !H 4984.691 ms !H

となっているのは、3番目のところで、Host Unreachableということを検出したことを示す。
msが1行に3つ出力されているのは、3回のトライのTime Exceededが返るまでの時間を示す。
普通は5秒でタイムアウトする。その場合はmsの部分はアスタリスク(*)になる。
そういう場合にはそのルータのアドレスさえも分からない。つまり、最初の番号はTTLを意味している。
最後の行はルータがUDPを投げたが、5秒の間にICMPが返ってこなかったので、Host UnreachableというICMPを返したということだと思われる。存在しないIPに対してもこのようなことが起きる。

しかしながら、manによると、最近ではFirewallがありえないポートにたいしてフィルターで無視するようになっていることもあるのであまり使えないということ。
そこで、-M tcpとし、普通はOKの80晩ポートを使うという方法が選択できる。(-Mはメソッドを意味する)


# traceroute -M tcp www.microsoft.com
traceroute to www.microsoft.com (207.46.170.10), 30 hops max, 60 byte packets
1 buffalo.setup (192.168.1.1) 1.169 ms 1.267 ms 1.535 ms
2 116-65-198-1.rev.home.ne.jp (116.65.198.1) 8.646 ms 12.726 ms 13.698 ms
3 10.202.97.3 (10.202.97.3) 13.678 ms 13.947 ms 13.936 ms
4 172.25.106.157 (172.25.106.157) 47.464 ms 48.474 ms 48.461 ms
5 172.25.108.1 (172.25.108.1) 15.546 ms 16.512 ms 16.500 ms
6 124.211.14.13 (124.211.14.13) 26.474 ms 20.327 ms 20.284 ms
7 otejbb203.kddnet.ad.jp (118.155.197.1) 11.514 ms otejbb204.kddnet.ad.jp (118.155.197.2) 11.090 ms otejbb203.kddnet.ad.jp (118.155.197.1) 15.392 ms
8 pacbb001.kddnet.ad.jp (203.181.100.62) 119.852 ms pacbb001.kddnet.ad.jp (203.181.100.186) 119.112 ms pacbb001.kddnet.ad.jp (203.181.100.62) 120.143 ms
9 ix-pa8.kddnet.ad.jp (124.211.34.134) 136.536 ms ix-pa8.kddnet.ad.jp (124.211.34.126) 131.309 ms 130.383 ms
10 203.181.104.206 (203.181.104.206) 134.208 ms 134.188 ms 121.053 ms
11 209.240.198.195 (209.240.198.195) 134.340 ms 134.320 ms 132.929 ms
12 207.46.40.62 (207.46.40.62) 137.654 ms 138.236 ms 130.004 ms
13 207.46.40.135 (207.46.40.135) 137.627 ms 147.294 ms 136.478 ms
14 ten2-1.tuk-76c-1b.ntwk.msn.net (207.46.46.13) 137.826 ms 142.419 ms 138.701 ms
15 po16.tuk-65ns-mcs-1b.ntwk.msn.net (207.46.35.142) 151.409 ms 140.033 ms 140.208 ms
16 wwwtuk2vip.microsoft.com (207.46.170.10) 139.979 ms 139.656 ms 152.326 ms

Powered by WordPress