グリーン免許エンジニアのNotepad

エンジニアの免許を取得したてのほやほやエンジニアが作るNotepadです。Notepad(メモ帳)以上のことは書けません。

Macで学校からtracerouteができない!?

現象

Macにてtracerouteを実行した際、正常に動かなかった。

traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
 1  172.16.95.254 (172.16.95.254)  2.617 ms  2.001 ms  1.745 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *

でもWebは見ることができる。

ということは学校にてICMPがフィルタリングされてるのでは?

hatena-MacBook-puro: user$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=119 time=27.240 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=119 time=28.356 ms

そういうことではないらしい。。。

考察

もしかするとtracerouteで使っているプロトコルがICMPじゃなかったりして。。。

検索

ほうほう。使うプロトコルが違うのか。 てっきりICMPを使うかと思ってた。

MacでICMPを使ったtracerouteをするには「-l」オプションを使うらしい

ということで

hatena-MacBook-puro: user$ traceroute -l 8.8.8.8
Version 1.4a12+Darwin
Usage: traceroute [-adDeFInrSvx] [-A as_server] [-f first_ttl] [-g gateway] [-i iface]
    [-M first_ttl] [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
    [-t tos] [-w waittime] [-z pausemsecs] host [packetlen]

なぜか実行できない。

でもオプション「-P」でプロトコルを指定できるっぽい。

ひとまずやってみる

hatena-MacBook-puro: user$ traceroute -P icmp 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 72 byte packets
 1  172.16.95.254 (172.16.95.254)  4.569 ms  2.435 ms  2.022 ms
 2  XXX.XXX.XXX.XXX (xxx.xxx.xxx.xxx)  1.302 ms  1.625 ms  2.394 ms
:
:
:
:
13  66.249.95.141 (66.249.95.141)  32.950 ms  27.799 ms  27.257 ms
14  google-public-dns-a.google.com (8.8.8.8)  26.981 ms  29.815 ms  26.451 ms

できた!

まとめ

Macでtracerouteをするには「-P ICMP」をつかう

© 2018-2023 tt. All Rights Reserved.