デバイスがアクセスポイントまたはルーターに接続しようとすると、キャプティブポータルページにサインインして、次のメッセージを表示する必要があります

“Wi-Fiネットワークにサインイン”。

アクセスポイント/ルーターはどのように機能しますかデバイスにサインインが必要であり、その背後にあるプロセスは何ですか?

回答

検出URLはさまざまなAndroidバージョン。

マシュマロの場合、connectivitycheck.gstatic.com / generate_204を使用します。ここで、コードを確認してください AndroidXRef-Marshmallow 6.0.0_r1

キットカットの場合、clients3.google.com / generate_204を使用してコードを確認します AndroidXRef –KitKat 4.4.4_r1

コメント

  • 回答を編集してハイジャックしたくなかったので' 'コメントを残すだけです。 到達できない場合、検出URLが通知をトリガーすることに気付くのに少し時間がかかりました。さらに、この要求に何らかのコンテンツで応答するためにアクセスポイントが必要でした。私の場合、/ generate_204が要求されたときに、200コードとWebサーバーのインデックスページを返しました。応答にコンテンツがないと、リターンコードに関係なく、" Wi-Fiにインターネットアクセスがありません"通知が届きます。
  • @ubomb http://connectivitycheck.gstatic.com/generate_204は実際にはコンテンツのない204を返し、明らかに機能するため、奇妙に思えます。 Content-Length: 0ヘッダーを省略しただけかもしれません。

回答

このテクノロジーは「キャプティブポータル」と呼ばれます。いくつかの実装があります。私が知っているように、AndroidはGoogleサーバーの1つにあるgenerate_204という名前のファイルに到達しようとします。それが不可能な場合は、通知が生成されます。

さらに読むウィキペディア: Captive_portal

コメント

  • 実際、私はキャプティブポータルについて知っています。しかし、私はそれをチェックするための特定のURLを知っています。それがどのように機能するのか知りたいです。
  • どういう意味ですか-"仕組み"? Androidがリクエストを送信し、肯定的な応答がない場合は、インターネットに接続されていないことを意味し、通知が生成されます。これが'の仕組みです。
  • Androidがリクエストする特定のURLはどれですか。質問があります。
  • 以前のコメントで、特定のURLを知っているとおっしゃいました。 ' s https://www.gstatic.com/generate_204
  • URLは clients3.google.com/generate_204 。このサイトから取得したクロムに関する情報。これはおそらくAndroidでも同じです。 chromium.org/chromium-os/chromiumos-design-docs/ …

回答

キャプティブポータルは通常、すべてのトラフィックを有効なHTTP応答(200)に転送することで実装されます。このHTTP応答は、キャプティブポータルに表示されるものです。

これは、iptablesやdnsmasqなどのツールを使用して実行できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です