AndroidでHostapd依存ポータルを検出する

AndroidでHostapd依存ポータルを検出する

Chromiumプロジェクトだけでなく、関連するすべての問題を調べました。私はHostapdアクセスポイントが動作し、Captive Portalが動作しています(iosとmac osx、windows、およびlinuxで完全に動作します)。

ただし、Androidではclient3.google.com/generate_204(ページのコンテンツとレスポンスコードを変更する場所)に対するリクエストが表示されても自動検出されません。

どんなアイデアがありますか?

ps - ユーザーが私の依存ポータルにログインしていない場合、私のソフトウェアはiptablesを介してポート53と80にリダイレクトすることで動作します。すべての回答に「192.168.1.1」と回答します。これが私のApacheサーバーです。 Androidで手動でclient3に移動すると... 302が表示され、私の捕虜にリダイレクトされますが、ポップアップはトリガーされません。依存ポータルがある場所に移動すると識別されます。私は何を見逃していますか?

答え1

古い質問に答えていますが、とにかく.. client3.google.com/generate_204に302コードで答えてはいけないと思います。

client3.google.com/generate_204と同様に、すべてのリクエストを192.168.1.1にリダイレクトする一般的な動作を維持してください。

Android が client3.google.com/generate_204 で 302 http レスポンスを見つけた場合、インターネットに接続されていると想定されるため、依存ポータルのポップアップは表示されません。

関連情報