はじめに
本記事はグローバルIPアドレスを最速で調査する方法について記載しています。
セキュリティインシデント発生時に、IPアドレス(※)を調査する際の初動対応を速やかに行うためには、信頼できるソースを基に調査方法を確立しておくことが重要です。
(※本記事のIPアドレスは、グローバルIPアドレスを指しています)
自分が使用しているグローバルIPアドレスは、NordVPNが提供している、以下のようなサイトから確認することができます。
国内でも類似サービスが存在しますが、本記事では信頼性の高いipinfo.ioを使用した調査方法や、その他役に立つ情報をまとめています。
ipinfo概要
ipinfo.ioは、IPアドレスに関わる信頼できるソースを提供しているIPデータのサービスです。
IPinfo Customersのページを見ると、広告などインテリジェンスを意識したサービスを開発するために、世界中の企業が利用していることが分かります。
プロダクトとして、メインであるIP Geolocation APIなど色々なAPIが用意されています。
Flexible pricing for the most accurate IP dataを参考に、Free planが用意されているので、毎月50,000件の範囲であれば無料で利用することができます。
なお、IP Geolocation APIは認証なしでも利用することができます。
試してみましょう。
IP Geolocation API
IP Geolocation APIは、IPアドレスに関連する地理情報を取得するためのAPIです。
試すにあたって会員登録も不要です。
ブラウザや、curlコマンドなどを用いて簡単にAPIを実行することができます。
目的毎に応じた簡単な使用例について、以下に記載します。
現在使用している端末のIPアドレス及び地理的情報を取得する
ブラウザからipinfo.ioにアクセスまたは、以下のコマンドを実行することで、現在使用している端末のIPアドレスに関連する地理的情報をJSON形式で取得することができます。
$ curl ipinfo.io/
現在使用している端末のIPアドレスのみを取得する
現在使用している端末のIPアドレスのみを取得したい場合は、URLのパスにip
を指定することで取得できます。
従ってブラウザからipinfo.io/ipにアクセスまたは、以下のコマンドを実行します。
$ curl ipinfo.io/ip
IPアドレスの調査
IPアドレスを調査する場合、URLのパスに調査したいIPアドレスを指定することで、対象のIPアドレスに関わる情報を取得できます。
以下はGoogle Public DNSのDNSサーバを指定した例です。
- ブラウザの出力例
- curlの出力例
$ curl ipinfo.io/8.8.8.8
{
"ip": "8.8.8.8",
"hostname": "dns.google",
"anycast": true,
"city": "Mountain View",
"region": "California",
"country": "US",
"loc": "37.4056,-122.0775",
"org": "AS15169 Google LLC",
"postal": "94043",
"timezone": "America/Los_Angeles",
"readme": "https://ipinfo.io/missingauth"
}
その他
インターネットは、自律システム (インターネット)の集合です。
グローバルIPアドレスに関するネットワークの調査を行う場合に、役に立つ情報を最後に紹介します。
AS番号が知りたい
日本のAS番号は、JPNICによって運営されている、以下as-numbers.txt
より確認できます。
ASに興味がある場合は、JPNICの以下をご参照ください。
ルーティング情報
NTTのGlobal IP Network Looking Glassは、バックボーンインフラストラクチャに関するネットワークのルーティング情報を提供します。(※利用する際は利用規約の同意が必要です。)
外部ASの通信などを確認したい時に重宝すると思います。
おわりに
IPアドレス一つから色々なことが分かるのが理解できたのではないでしょうか。
興味がある場合は、調べてみると面白いと思います。