ドメインからIP変換
ドメイン名やURLからIPアドレス(IPv4とIPv6)を調べ、単純な検索ではわからない情報まで確認できます。名前の背後にあるCNAMEの経路、各アドレスを所有するネットワーク、本当のサーバーの前段にCDNがあるかどうか、そして5つのパブリックDNSリゾルバーがそれぞれ何を返すかを表示します。
WebサイトのIPアドレスを調べる方法
ドメインからIPアドレスを調べるには、Webサイトのドメインを入力するか任意のURLを貼り付けて、IPを調べるを押します。ドメインからIP変換ツールは、その名前のAレコード(IPv4アドレス)とAAAAレコード(IPv6アドレス)をDNSに問い合わせます。これはブラウザーが接続の前に行うのと同じ問い合わせで、すべてのアドレスを、リゾルバーが保持してよい期間(TTL)とともに一覧表示します。
さらに、単純なDNSからIPへの変換より一歩踏み込みます。名前からアドレスまでCNAMEの別名をたどり、各アドレスを経路広報しているネットワークとブロックの登録者を突き止め、Webサイト自身のサーバーではなくCDNのアドレスにはその旨を示し、5つのパブリックリゾルバーの応答を並べて表示します。

答えすべてのIPv4・IPv6アドレスをすぐにコピーでき、検索でわかったことを1件ずつ短い文で示します。各アドレスネットワークとAS番号、不正利用の連絡先を含むレジストリの登録情報、逆引き名、DB-IPによる都市を表示します。5つのリゾルバーGoogle、Cloudflare、Quad9、OpenDNS、AdGuardに同時に問い合わせます。アドレスの切り替えやフィルタリングによるブロックはここでわかります。経路リゾルバーから名前、各CNAMEの別名、アドレス、その背後のネットワークまでをたどります。1つのWebサイトに複数のIPアドレスがあるのはなぜ?
1つのドメインに多数のAレコードとAAAAレコードがあることは珍しくなく、その組み合わせは検索のたびに変わることもあります。ほぼすべてのケースは、次の4つの理由で説明できます:
IPv4とIPv6
両方に対応しているサイトには、AレコードとAAAAレコードの両方があります。IPv6を使えるデバイスは通常まずIPv6アドレスを試し、つながらなければ1秒足らずでIPv4に切り替えます(Happy Eyeballs)。
負荷分散
複数のサーバーでトラフィックを分担します。DNSの応答にはそれらがすべて含まれ、多くの場合は毎回異なる順番で並び、クライアントは通常その順番どおりに試します。これがラウンドロビンDNSです。
場所に応じた応答
大規模なサイトは、各リゾルバーにその近くのサーバーを返すため、東京からの検索とフランクフルトからの検索では異なるアドレスが返ります。リゾルバーはそのために、訪問者のアドレスの一部を伝えることがあります(EDNS Client Subnet)。
AnycastとCDN
CloudflareのようなCDNは、同じアドレスを数百のデータセンターから経路広報し、インターネットのルーティングが各訪問者を近くのデータセンターへ運びます。1つのアドレスが、多くの場所に存在するのです。
そのIPアドレスはWebサイトの本当のサーバー?
CDNやセキュリティプロキシが前段にある場合は違います。そのときドメインはCDNのアドレスに名前解決され、訪問者はCDNに接続し、CDNが見えないところでWebサイト自身のサーバー(オリジン)からページを取得します。アドレスは本物ですが、CDNのものであり、ほかの何千ものサイトにも使われています。
ドメインからIP変換ツールは、この2つを見分けます。大手のCDNやプロキシ(Cloudflare、Akamai、Fastly、Imperva、Sucuriなど)のネットワークはAS番号で、Amazon CloudFrontのようにクラウドのネットワーク上で動くCDNは、利用者に割り当てるCNAMEで判別します。それらのアドレスには都市を表示しません。CDNのアドレスは、問い合わせたリゾルバーの近くにあるエッジサーバーか、多くの場所から同時に応答するAnycastアドレスのどちらかで、いずれもWebサイトが保存されている場所を示さないからです。
Cloudflareの背後にある本当のIPアドレスは調べられる?
DNSからは調べられません。プロキシされたレコードは、Cloudflareのアドレスしか返しません。ただし、プロキシを経由しないレコードからオリジンが漏れることはあります。mail.やftp.で始まる名前、MXレコード、サーバーのアドレスを記載したSPFレコードなどです。
ご自身のサイトなら、オリジンを指すWeb用のレコードはすべてプロキシし、メールなどプロキシできないものは別のサーバーで運用してください。そうでない場合は、CDNに不正利用を報告してください。Cloudflareは報告をホスティング会社とサイトの所有者に転送します。
表示するのは名前が解決されるアドレスだけで、CDNが隠しているサーバーは決して表示しません。そのアドレスがわかると、攻撃者がCDNの保護を迂回できてしまうからです。
www.example-shop.comの名前解決の流れ
- 問い合わせ先Google Public DNS8.8.8.8 · 18ミリ秒 · TCP
- 名前www.example-shop.com
- 別名www.example-shop.com.cdn.cloudflare.netCloudflare
- アドレス203.0.113.10203.0.113.112001:db8::10
- ネットワークCloudflareAS13335 · アメリカ合衆国で登録
- オリジンサーバーCloudflareの背後に隠れています知っているのはサイトの所有者とCloudflareだけです
nslookup、ping、digでWebサイトのIPアドレスを確認する方法
どのコンピューターでも、コマンドラインでドメインをIPアドレスに変換できます。example.comを調べたいサイトの名前に置き換えてください:
| システム | コマンド | わかること |
|---|---|---|
| Windows | nslookup example.com | 設定済みのリゾルバーから得たアドレス。サーバーのアドレスを付け加えると、そのサーバーに問い合わせます(nslookup example.com 8.8.8.8)。 |
| Windows PowerShell | Resolve-DnsName example.com | A、AAAA、CNAMEの各レコードとそのTTL。 |
| macOS、Linux | dig +short example.com A | IPv4アドレス(別名があれば、その名前の後に表示)。IPv6はAをAAAAに替え、TTLを見るには+shortを外します。 |
| Linux | getent ahosts example.com | hostsファイルを含めてシステム自身が名前解決した結果で、ほとんどのプログラムが見るものと同じです。 |
| すべて | ping example.com | システムが選んだ1つのアドレス(IPv6またはIPv4)。Macのpingが使うのはIPv4のみで、IPv6にはping6を使います。 |
iPhoneやAndroidのスマートフォンにはコマンドラインがありません。どのブラウザーでも使える上の検索ツールをご利用ください。
ChromeやEdgeでは、デベロッパーツールの[ネットワーク]タブで、ページが実際に読み込まれたアドレスを確認できます。最初のリクエストを選び、[ヘッダー]のRemote Addressを見てください。
自分のコンピューターやpingで別のIPアドレスが表示されるのはなぜ?
ここでの検索結果とご自身のコンピューターでの結果が食い違っても、どちらも正しいことがあります:
- 1
異なるリゾルバー
お使いのコンピューターはプロバイダーやルーターのリゾルバーに問い合わせており、そのリゾルバーがあなたの近くの別のサーバーを選ぶことがあります。比較するには、上で同じリゾルバーを選んでください。
- 2
切り替えと場所
負荷分散や場所に応じた応答を行うサイトは、問い合わせのたびに、または場所ごとに別のアドレスを返します。
- 3
キャッシュされた応答
コンピューターとブラウザーは、TTLが切れるまで応答を保持します。そのため、移転したばかりのサイトでは、しばらく古いアドレスが表示されることがあります。
- 4
hostsファイル
hostsファイル(C:\Windows\System32\drivers\etc\hosts、/etc/hosts)の記述は、そのコンピューターではDNSより優先されます。
- 5
IPv6優先
ブラウザーや、WindowsとLinuxのpingは、ネットワークがIPv6に対応していればIPv6を優先するため、AではなくAAAAのアドレスを使うことがよくあります。
IPアドレスを入力してもWebサイトが開かないのはなぜ?
1台のサーバー、つまり1つのIPアドレスで、多くのWebサイトを配信していることがよくあるからです。ブラウザーはリクエストのたびに目的のサイト名を伝え(Hostヘッダー、HTTPSではハンドシェイクのSNIフィールド)、サーバーはその名前からサイトを選びます。アドレスだけを入力すると、リクエストにはサイト名が含まれないため、サーバーはデフォルトのページやエラー、あるいは証明書の警告を表示します。証明書はドメインに対して発行されたもので、アドレスに対してではないからです。
CDNの背後にあるサイトも同じ理由で開きません。たとえばCloudflareは、自社のアドレスへの直接のリクエストをエラー1003で拒否します。
- Host: shop.exampleショップのページ
- Host: blog.exampleブログのページ
- Host: 192.0.2.10デフォルトページかエラー
Webサイトの場所を調べる方法
「このWebサイトはどこにある?」という疑問の裏には3つの異なる答えがあり、検索ツールはしばしばそれらを混同します:
| サーバーがある場所 | DB-IPのような位置情報データベースは、アドレスを都市に対応付けます。1か所のデータセンターにあるサーバーには有効ですが、CDNのアドレスには意味がありません。それは問い合わせた人の近くにあるエッジサーバーか、あらゆる場所にあるAnycastアドレスだからです。 |
|---|---|
| アドレスブロックが登録されている場所 | 地域レジストリがブロックを割り当てた組織の国です。Cloudflareのブロックの多くは、サーバーがどこにあっても米国で登録されています。 |
| Webサイトを運営している人 | アドレスにはまったく含まれていません。WHOISでわかるのはレジストラで、所有者は伏せられていることがよくあります。誰が運営しているかは、たいていサイト自身のページ(お問い合わせ、運営者情報)からわかります。 |
いずれも個人の居場所を特定するものではありません。Webサイトのアドレスからわかるのは、データセンターとそれを運営する会社です。
WebサイトのIPアドレスを調べるのは合法?
合法です。ドメインのアドレスは、あらゆるブラウザーがサイトを見つけられるようにDNSで公開されており、各アドレスブロックの保有者もレジストリが公開しています。それらを調べることは、ブラウザーがアクセスのたびに行っていることと同じです。
法律で禁じられているのは、サーバーへの不正侵入や大量のトラフィックを送りつけることなど、その後に行われうる行為です。許可のないスキャンは、プロバイダーの規約や、国によっては法律に違反することがあります。あるアドレスからのスパム、フィッシング、攻撃を報告するには、ネットワークの不正利用窓口に連絡してください。窓口は結果の各アドレスに表示されます。
URLからIPアドレスへ:リンクを貼り付けるだけでサーバーのアドレスがわかる
URLをIPアドレスに変換するのに必要なのはホストだけです。スキーム、ポート、パス、クエリはDNSに届きません。リンクはそのまま貼り付けてください。検索ツールがリンクから名前を取り出し、www.は残したまま(wwwなしのドメインとは別の場所を指すことがあります)、UnicodeのドメインはDNSで使われる形式に変換します:
| 貼り付けた文字列 | 検索する名前 |
|---|---|
| https://www.example.com/shop?id=7 | www.example.com |
| http://example.com:8080/ | example.com |
| user@mail.example.org | mail.example.org |
| bücher.de | xn--bcher-kva.de |
ドメインからIP変換API
ブラウザー向けにCORSに対応した無料のエンドポイントです。ドメインをPOSTで送信するか、クエリに入れてGETで送信します。リゾルバーも任意で指定できます。応答には、以前のAPIのフィールドに加えて、CNAMEの経路、TTL、ネットワーク、wwwの対になる名前、5つのリゾルバーすべての応答が含まれます。1つのネットワークにつき1分あたり30回まで検索でき、TTLの間は同じ検索にキャッシュから応答します。
$ curl "https://dnsrobot.net/api/domain-ip?domain=github.com&dnsServer=cloudflare"
{
"success": true, "domain": "github.com",
"summary": { "totalIPs": 1, "ipv4Count": 1, "ipv6Count": 0, "hasCDN": false, … },
"ipAddresses": [ { "ip": "140.82.121.4", "version": "IPv4", "asn": "AS36459", "ttl": 60, … } ],
"chain": [], "twin": { "name": "www.github.com", … }, "resolvers": [ … ]
}