2015.
06.
10
09:08:37
結論から書くと
LinuxのtracerouteコマンドではUDPパケットを使って調査する
(オプションでICMPやTCPも選択可能)
WindowsのtracertコマンドはICMPパケットを使って調査する
らしいです。
へー、知らんかった。
traceroute(tracert)は、TTL(そいつの寿命として設定される値)を
1ずつ増やしたパケットを繰り返し投げることで
目的地までの経路を判定しています。
まずTTLが1のパケットを投げてやります。
そうすると、最初の機器に到達した時点でTTLが0になり、パケットが破棄されます。
その旨の通知を受けることで、最初の機器の所在を把握します。
次にTTLが2のパケットを投げてやります。
そうすると、2つ目の機器に到達した時点でTTLが0になり、パケットが破棄されます。
その旨の通知を受けることで、2つ目の機器の所在を把握します。
次にTTLが3のパケットを投げてやります。
そうすると、3つ目の機器に到達した時点でTTLが0になり、パケットが破棄されます。
その旨の通知を受けることで、3つ目の機器の所在を把握します。
それを目的地に到着するまで繰り返すことで、途中にどんな機器があるかを把握します。
つまり、経路を把握できるのです。
このときに使うパケットがUDP(Linux)かICMP(Windows)かの違いです。
これが何を意味するかと言うと、
ファイアーウォールの設定でUDPパケットを通さないようにしていた場合、
Linuxのtracerouteコマンドが上手く動作しないということです。
また、ファイアーウォールの設定でICMPパケットを通さないようにしていた場合、
Windowsのtracertコマンドは途中で先に進めなくなってしまいます。
Linuxのtracerouteコマンドを使うと途中でタイムアウトするけど、
Windowsのtracertコマンドを使うと経路判定できる(あるいは、その逆)なんてことも起こり得ます。
ふーん、traceroute(tracert)コマンドで使うパケットの種類なんて気にしていなかったけど、
一応、覚えておいた方が良さ気ですね(--ゞ
取りあえず、そんな感じ\(--)/
LinuxのtracerouteコマンドではUDPパケットを使って調査する
(オプションでICMPやTCPも選択可能)
WindowsのtracertコマンドはICMPパケットを使って調査する
らしいです。
へー、知らんかった。
traceroute(tracert)は、TTL(そいつの寿命として設定される値)を
1ずつ増やしたパケットを繰り返し投げることで
目的地までの経路を判定しています。
まずTTLが1のパケットを投げてやります。
そうすると、最初の機器に到達した時点でTTLが0になり、パケットが破棄されます。
その旨の通知を受けることで、最初の機器の所在を把握します。
次にTTLが2のパケットを投げてやります。
そうすると、2つ目の機器に到達した時点でTTLが0になり、パケットが破棄されます。
その旨の通知を受けることで、2つ目の機器の所在を把握します。
次にTTLが3のパケットを投げてやります。
そうすると、3つ目の機器に到達した時点でTTLが0になり、パケットが破棄されます。
その旨の通知を受けることで、3つ目の機器の所在を把握します。
それを目的地に到着するまで繰り返すことで、途中にどんな機器があるかを把握します。
つまり、経路を把握できるのです。
このときに使うパケットがUDP(Linux)かICMP(Windows)かの違いです。
これが何を意味するかと言うと、
ファイアーウォールの設定でUDPパケットを通さないようにしていた場合、
Linuxのtracerouteコマンドが上手く動作しないということです。
また、ファイアーウォールの設定でICMPパケットを通さないようにしていた場合、
Windowsのtracertコマンドは途中で先に進めなくなってしまいます。
Linuxのtracerouteコマンドを使うと途中でタイムアウトするけど、
Windowsのtracertコマンドを使うと経路判定できる(あるいは、その逆)なんてことも起こり得ます。
ふーん、traceroute(tracert)コマンドで使うパケットの種類なんて気にしていなかったけど、
一応、覚えておいた方が良さ気ですね(--ゞ
取りあえず、そんな感じ\(--)/
category:● ネットワーク関連 thema:パソコンな日々 - genre:コンピュータ Posted by ササキマコト