tracerouteの実装による問題 - Narusaseの日記 -ハニポってどうよ?(仮)-
LinuxのtracerouteとWindowsのTracertのパケット(UDPとICMP)の違いの件ですが、有名だと思ってたんだけど、意外と知られてないんですね。
man tracerouteすれば出てきますが、オプションでICMPに変えることが出来ますよ。(コメントにも書いてあったけど)
Vine Linux でtracerouteを実行すると何故か「send failed: Operation not permitted」というエラーがでてうまくいかない・・・orz
原因は、FW(iptables)でUDPのポートが空いていないからtracerouteと言えばICMPのパケットを投げつける物とばかり理解していたのだがLinuxの実装ではUDPで投げるらしい。
Linuxのtracerouteでは送信元ポートは64000から送信先ポートは33435から+1ずつ増やしながらパケットを投げつけるらしい。
・・・さて、FWに大量に穴開けるのもおもしろくないしどうしたもんかな・・・ちなみにWindowsだと普通にICMPのパケットを投げつける