ziguzagu.org

memo: traceroute uses UDP as default

とあるサーバー間の疎通確認に、いつもどおりなにげなく traceroute コマンドを使った。ら、経路でてこない。ping もつながらないし ICMP 落としてるのかー、と思ったけど、mtr だと途中(該当サーバーの手前)まで出てくる。

え。なんで?

正解:traceroute コマンドはデフォルトでは UDP を使う。

traceroute (2.0.1) の man より抜粋。

-I     Use ICMP ECHO for probes

-T     Use TCP SYN for probes

-U     Use UDP datagrams for probes (it is default). Only UDP method is allowed for unprivileged users.

いままで涼しい顔して、ICMP で確認している気になっていた…。アホだった…。

で、今回は traceroute 実行していたほうで UDP を drop していた模様。