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のパケットを投げつける

screenshot