hostsファイルでBinanceドメインを強制解決することは可能か
少数のユーザーは、BinanceのDNS解決に失敗した際、hostsファイルを使って強制的に binance.com を特定の固定IPに向けることを考えます。この方法は本当に実現可能でしょうか?本ノートではこれを詳しく解説します。直接ログインする場合は Binance公式サイト を開き、アプリのダウンロードは Binance公式アプリ から行ってください。iPhoneのインストールは iOS導入チュートリアル をご覧ください。
hostsファイルの仕組み
hostsファイルは、オペレーティングシステムのローカルドメイン名解決テーブルです:
- パス(Win):C:\Windows\System32\drivers\etc\hosts
- パス(macOS / Linux):/etc/hosts
- 形式:IPアドレス + スペース + ドメイン名
1行につき1つのマッピングを記述します。システムがドメイン名を解決する際、優先してhostsを検索し、見つかった場合はDNSを経由しません。
Binanceをhostsに追記する
理論的には次のように記述できます:
104.16.x.x binance.com
104.16.x.x www.binance.com
(ここのIPは現在のCloudflare CDNのIPである必要があり、毎日変動する可能性があります。)
記述が完了すると、システムは binance.com へのアクセスに直接このIPを使用し、DNSを経由しなくなります。
実現可能性における問題点
理論上は可能ですが、実際にはいくつかの大きな落とし穴があります:
落とし穴 1 · CloudflareのIPは動的 BinanceのメインドメインはCloudflare CDNを利用しています。CloudflareのIPは毎日、あるいは数時間ごとに変動します:
- 今日は 104.16.1.5 でも、明日は 104.16.2.10 になるかもしれません。
- 固定で書き込んだIPはすぐに無効になる可能性があります。
- 無効になった後、binance.com へのアクセスは再び失敗します。
落とし穴 2 · CDNノードのマッチングエラー Cloudflareはユーザーの現在地に基づいて最も近いノードのIPを割り当てます:
- 固定で記述したIPが欧米のノードである可能性があります。
- 実際には日本にいるのに、強制的に欧米のノードを経由する → アクセスが非常に遅くなります。
落とし穴 3 · SSL証明書の検証失敗 SSL証明書はIPではなくドメイン名に結びついています。hostsで binance.com をIPに向けた場合でも、ブラウザはドメイン名に基づいて証明書を検証します。通常は正常に動作しますが、途中でエラーが発生すると警告が出ます。
落とし穴 4 · 複数のサブドメイン問題 Binanceにはメインドメイン以外にも、api、accounts、s3などのサブドメインがあります。これらすべてをhostsに記述する必要があり、それぞれのIPも異なります。メンテナンスのコストが高くなります。
落とし穴 5 · アプリは必ずしもhostsを遵守しない デスクトップアプリは通常hostsを読み込みますが、モバイルアプリの一部は読み込みません(システムの基盤となるネットワークスタックに依存するため)。
hostsを推奨しない理由
総合的に見て、hostsによるBinanceの強制解決は推奨しません。その理由は以下の通りです:
- メンテナンスが面倒(IPが頻繁に変動する)
- パフォーマンスの低下(最も近いCDNノードを逃す)
- アクセラレーションのバイパス(CDNのスマートルーティングが無効になる)
- 有効期間が短い(IPが無効になった後、再度調べる必要がある)
推奨される代替手段
hostsを利用せず、以下のより良い方法を選択してください:
解決策 1 · パブリックDNSの切り替え 1.1.1.1 や 8.8.8.8 を使用し、DNSに自動で最適なIPを解決させます。詳細はDNS切り替えの記事をご覧ください。
解決策 2 · DoH / DoT 暗号化DNSの使用 DNSのハイジャックを防ぎつつ、自動で最適なIPを取得します。
解決策 3 · アプリの使用 アプリにはアクセスポイントの選択機能が組み込まれており、ブラウザよりもスマートです。
解決策 4 · デスクトップクライアントの使用 クライアントは独立してアクセスポイントに接続し、hostsを経由しません。
極端な状況下でのhostsの利用法
もしDNSが完全に機能しない場合(すべてのパブリックDNSがブロックされているなど)、一時的に以下の対応が可能です:
- 別のネットワーク(友人の家や4Gなど)を使用して、現在の binance.com のIPを調べる。
- 制限されているネットワーク下のPCのhostsに書き込む。
- 一時的にアクセスする。
ただし、これはあくまで「緊急対応」であり、長期的な解決策ではありません。
hostsファイルの書式詳細
1行につき1つのマッピングを記述します。以下の点に注意してください:
- Tabまたは複数のスペースで区切る
- 行頭の # はコメント
- IPv4とIPv6は別々に記述する
- 1つのIPを複数のドメインに対応させることができる
hostsを変更するには管理者権限が必要です:
- Windows:「管理者として実行」でメモ帳を開く
- macOS / Linux:sudo を使用して編集する
変更後の反映
| OS | 反映方法 |
|---|---|
| Windows | 即時反映 |
| macOS | 即時反映 + dscacheutil -flushcache |
| Linux | 即時反映 |
| ブラウザ | ブラウザの再起動が必要な場合あり |
hostsのセキュリティリスク
悪意のあるhostsの変更は一般的な攻撃手法です:
- ウイルスが binance.com をフィッシングサイトのIPに変更する可能性がある。
- ユーザーがドメイン名を入力した際、偽のウェブサイトにアクセスしてしまう。
- 入力したアカウントやパスワードが盗まれる。
防御策:
- 定期的にhostsファイルの内容を確認する。
- セキュリティソフトでスキャンする。
- hostsファイルの権限を保護する。
hostsが悪意を持って変更されていないか確認する
簡単な確認方法:
- hostsファイルを開く。
- binance.com または類似のエントリがあるか確認する。
- あって、自分が記述したものではない場合 → 攻撃を受けている可能性がある。
- バックアップを取った後、クリアする。
正常なhostsファイルには、少数のエントリ(127.0.0.1 localhost など)しか存在しないはずです。
モバイル端末でhostsは変更できるか
iOS:デフォルトでは不可、ジェイルブレイク(脱獄)が必要。 Android:デフォルトでは不可、root化が必要。
一般ユーザーは、モバイル端末でhostsを使用して強制解決することはできません。
VPNとの違い
| 項目 | hosts | VPN |
|---|---|---|
| 目的 | 解決結果の変更 | IPルーティングの変更 |
| 設定の粒度 | 単一ドメイン | 全トラフィック |
| 速度への影響 | ほぼなし | 遅くなる可能性あり |
| メンテナンス難易度 | 高(IP変動) | 低 |
VPNはhostsよりも安定していますが、コンプライアンス上の問題があります。
FAQ
Q:hostsを書き間違えるとシステムが壊れますか? A:壊れません。特定のドメインの名前解決に失敗するだけです。
Q:hostsで広告ドメインをブロックできますか? A:できます。広告ドメインを 0.0.0.0 に向ければブロックできます。
Q:hostsはDNSより速いですか? A:単一ドメインの検索はわずかに速くなりますが、全体的な体感はほとんど変わりません。
Q:アプリがhostsを読み込まない場合はどうすればいいですか? A:アプリのトラフィックに影響を与えるには、グローバルプロキシまたはVPNを使用する必要があります。