グローバルIPをcurlで確認

この記事は最終更新日から1年以上が経過しています。

概要

サーバのグローバルIPをcurlコマンドで確認する方法について

curlコマンド

以下URLどれでもOK

  • httpbin.org/ip
$ curl httpbin.org/ip
{
  "origin": "121.102.14.91"
}
  • inet-ip.info
$ curl inet-ip.info
121.102.14.91
  • ifconfig.me
$ curl ifconfig.me   #実行に時間かかる
121.102.14.91

curlコマンドでサーバとのやり取りを表示したい時

-v, --verboseオプションを付ける

$ curl -v httpbin.org/ip
*   Trying 23.23.223.197...
* Connected to httpbin.org (23.23.223.197) port 80 (#0)
> GET /ip HTTP/1.1
> Host: httpbin.org
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: keep-alive
< Server: gunicorn/19.7.1
< Date: Fri, 21 Apr 2017 05:38:49 GMT
< Content-Type: application/json
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< Content-Length: 32
< Via: 1.1 vegur
<
{
  "origin": "121.102.14.91"
}
* Connection #0 to host httpbin.org left intact

cf) curlの使い方

curlがサーバにどういうリクエストを送信して、サーバからどういうレスポンスが返ってきているかを見たいことがあります。この場合、「 -v 」オプションを付けておくと、このやり取りを表示することができます。
$ curl -v http://www.hoge.com/

curlコマンドでサーバとのやり取りのヘッダー情報だけ表示したい時

-v, --verboseオプションを付けて、標準出力を/dev/nullに捨てる

$ curl -v httpbin.org/ip > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 54.243.85.55...
* Connected to httpbin.org (54.243.85.55) port 80 (#0)
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0> GET /ip HTTP/1.1
> Host: httpbin.org
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: keep-alive
< Server: gunicorn/19.7.1
< Date: Fri, 21 Apr 2017 05:40:49 GMT
< Content-Type: application/json
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true
< Content-Length: 32
< Via: 1.1 vegur
<
{ [32 bytes data]
100    32  100    32    0     0     79      0 --:--:-- --:--:-- --:--:--    79
* Connection #0 to host httpbin.org left intact

cf) curlでヘッダを見る方法いろいろ

--verboseオプションをつけるとリクエストヘッダ、レスポンスヘッダ、httpsならTLS handshakeの様子等が出力されるようになります。なので、--verboseをつけるとヘッダが見れます。
また、この"verboseな"情報は標準エラー出力に出力されるので、ヘッダだけ見たい、と言う時は標準出力は/dev/nullに捨てちゃうといい感じに見やすくなります。

参考リンク


+ Recent posts