2013年9月24日

traceroute のプロトコル

ネットワークの疎通をテストするときに使用するtraceroute(windowsだとtracert)という著名なコマンドがあります。
このコマンド、例えばlinuxだとICMPではなく、UDPをデフォルトで使用するということを知っていましたか?
周回遅れエンジニアは最近知りました。

traceroute -I xxx.xxx.xxx.xxx

のように「-I」オプションを付けることでPINGと同じICMPを使用してtracerouteを実行することができます。
ICMPを許可しているのにtracerouteが通らないのはUDPを使用しているからだったりします。

このコマンドにはスーパーユーザ権限を求められるので、

sudo traceroute -I xxx.xxx.xxx.xxx

のように行います。
疎通を確認するためだけにsudoをしなければいけないなんて。。。。

ちなみにtracerouteですが、TCPを使用することもできます。

sudo traceroute -T -p 80 xxx.xxx.xxx.xxx

とすることで、HTTPしか許可されていないwebサーバまでの疎通を確認する事が出来ます。


まあ、周回遅れエンジニアの周りにいたソフトウェアエンジニアたちはtracerouteを実行したことが無い気がします。(偏見)

参考
Linuxコマンド集【 traceroute 】 ホストまでの経路を調べる http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230907/

0 コメント:

コメントを投稿