【きゃぷてぃぶぽーたる】

キャプティブポータル とは?

💡 フリーWi-Fiの『まずはこちらに同意してね』画面
📌 このページのポイント
キャプティブポータルの仕組み 端末 WiFi接続 ①接続 AP ゲートウェイ DHCP + リダイレクト ②リダイレクト 認証ページ ログイン / 同意 ③認証OK 通信許可 FW開放 インターネット ④通常通信OK 認証前 全HTTPがポータルにリダイレクト DNS応答も書き換えられる 認証後 MACアドレスがホワイトリスト登録 通常のインターネットアクセス
キャプティブポータルのイメージ
ひよこ ひよこ

カフェでWi-Fiつなぐと出てくるあの画面のことかな?

ペンギン先生 ペンギン先生

そうそう、まさにあれがキャプティブポータルだよ。Wi-Fiには接続できているけど、ログインや同意をしないとインターネットに出られない。『まず受付を通ってね』という関所みたいなものだね

ひよこ ひよこ

どうやって強制的に画面を表示してるの?

ペンギン先生 ペンギン先生

ブラウザがどこかのサイトにアクセスしようとすると、ルーターがその通信を横取りしてログインページにリダイレクトするんだ。最近のスマホはキャプティブポータルを自動検知して、接続直後にポップアップで表示してくれるよ

ひよこ ひよこ

HTTPSのサイトにアクセスしたときはどうなるの?

ペンギン先生 ペンギン先生

いいところに気づいたね。HTTPSだとリダイレクトが難しいから、最近のOSはまずHTTPの検知用URLにアクセスして確認するんだ。Appleなら captive.apple.com、Googleなら connectivitycheck.gstatic.com にアクセスしているよ

ひよこ ひよこ

キャプティブポータルって安全なの?

ペンギン先生 ペンギン先生

認証が完了するまでの通信は暗号化されていないことが多いから、偽のキャプティブポータルを作って情報を盗む攻撃もあるんだ。公衆Wi-Fiではパスワードやクレジットカード情報は入力しない方が安全だよ

ひよこ ひよこ

開発者泣かせな面もあるのかな?

ペンギン先生 ペンギン先生

あるある。アプリがAPIサーバーに接続しようとしたら、キャプティブポータルのHTMLが返ってきてJSONパースエラー、なんてバグはよく起きるよ。ネットワーク接続の確認ロジックは意外と奥が深いんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「キャプティブポータル」って出てきたら「フリーWi-Fiのログイン画面」と思えればだいたいOK!
📖 おまけ:英語の意味
「Captive Portal」 = 囚われの入口
💬 Captiveは『囚われた・捕らえられた』、Portalは『入口』。ネットに出たいのに入口で捕まえられるイメージだよ
← 用語集にもどる