自分のグローバルアドレスをOpenDNSとdigコマンドで調べる方法を試してみた
linux - How can I get my external IP address in bash? - Unix & Linux Stack Exchangeを読んで試してみたのでメモです。
この記事を読むまでは curl -s http://ifconfig.me
しか知りませんでした。
処理時間を比べてみました(出力結果のIPアドレスは伏せ字XXX.XXX.XXX.XXXにしています)。
$ time dig +short myip.opendns.com @resolver1.opendns.com
XXX.XXX.XXX.XXX
real 0m0.061s
user 0m0.010s
sys 0m0.016s
$ time curl -s http://whatismyip.akamai.com
XXX.XXX.XXX.XXX
real 0m0.571s
user 0m0.011s
sys 0m0.009s
$ time curl -s http://ifconfig.me
XXX.XXX.XXX.XXX
real 0m0.581s
user 0m0.011s
sys 0m0.007s
私が試した環境では、whatismyip.akamai.comとifconfig.meにhttpで問い合わせる方法は約0.6秒弱ですが、OpenDNSにdigで問い合わせる方法だと約0.06秒と一桁速いということがわかりました。