概要
サーバのグローバル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
--verboseオプションをつけるとリクエストヘッダ、レスポンスヘッダ、httpsならTLS handshakeの様子等が出力されるようになります。なので、--verboseをつけるとヘッダが見れます。
また、この"verboseな"情報は標準エラー出力に出力されるので、ヘッダだけ見たい、と言う時は標準出力は/dev/nullに捨てちゃうといい感じに見やすくなります。
参考リンク
-
http request の レスポンスを JSON で返してくれるサイト
httpbin(1): HTTP Client Testing Service -
プライベートIPとグローバルIPの説明など
[34.私のハッキングはなぜバレるのか。whoisコマンド。nslookupコマンド。ifconfigコマンド。]
(http://www.garunimo.com/program/linux/linux34.xhtml)