Domain IP Lookup

仕組み

ドメインの入力から、検証済みで安全な結果を得るまで。

1. ドメインを入力、またはリストを貼り付け

1つの入力欄で、ドメイン単体(google.com)、完全なURL(https://google.com/search?q=x)、または多数のドメインを貼り付けたリスト(1行に1件、またはカンマ区切り)を処理できます。

2. 入力を正規化

スキーム、パス、クエリ文字列、ポート、末尾のドットを取り除き、単純なホスト名にします。IDN/Unicodeドメインはpunycodeに変換されます。IPアドレス、空白、長すぎるラベルなど、公開ドメインとして妥当でないものは、ただちに拒否されます。

3. Node.jsが直接解決

dns.Resolverインスタンスが、設定されたDNSサーバー(既定ではCloudflareとGoogle)に対して、AレコードとAAAAレコードを並列に問い合わせます。間にサードパーティのルックアップAPIは入らず、このサーバーがDNSと直接やり取りします。

4. すべてのアドレスを安全性チェック

IPを返す前に、プライベート、ループバック、リンクローカル、クラウドメタデータの各範囲と照合します。DNSリバインディングを含め、ドメインがそれらの範囲のアドレスにしか解決されない場合、内部アドレスを漏らすことなく、解決不能として報告されます。

5. 一時的な失敗は再試行

DNSのタイムアウト、SERVFAIL、REFUSEDは、指数バックオフで自動的に再試行されます。そもそも存在しない(NXDOMAIN)ドメインや、最初から無効だったドメインは再試行されず、すぐに失敗します。

6. 一括検索ではバックグラウンドジョブが処理を引き継ぐ

バッチを送信すると、解決処理は制御された同時実行数でバックグラウンドのワーカープロセスに移ります。リクエストはジョブIDとともにすぐに返り、ページは接続を開いたままにせず、ポーリングでリアルタイムの進行状況を取得します。

7. 結果は保存され、エクスポート可能

ドメイン、解決されたアドレス、ステータス、所要時間といったすべての結果が保存され、ダッシュボードで確認したり、いつでもCSVまたはJSONでダウンロードしたりできます。