どのようにボンネットの下にキャプティブポータルの仕事は、どのように私はWindowsのホットスポットで使用するJavaでものを書くことができるのでしょうか?

ザビエルTは動作します:

私はその後、モバイルホットスポットと一般的にはすべてのWiFiネットワークのために、まずWindowsのホットスポットのために、キャプティブポータルを作成します。ポータルは、その後どのように私はJavaで1を開発することができ、フードの下でどのように機能するか捕虜理解したい、私はそう。私はJavaのソケットプログラミングを知っています

M. Rostami:

キャプティブポータルとは何ですか?

これは、ワイヤレスクライアントがネットワークリソースにアクセスすることを許可されていないときに、認証画面が表示されます。認証ページは、キャプティブポータルのログインと呼ばれています。

Aキャプティブポータルは、2通りの方法で、クライアントデバイス上で起動することができ

  1. DNSリダイレクション
  2. スプラッシュページ

DNSリダイレクトは、すべてのユーザーのDNS要求をハイジャックし、キャプティブポータルログインページに解決され、単純なDNSハイジャックとして動作します。しかし、HSTSヘッダ実装の普及した後、DNSリダイレクトは、ユーザーには良いサービスを提供する低成功率に当たります。

一方、スプラッシュページは少し異なる方法で動作します。また、それが要求ACCに応答し、DNSリダイレクトを使用しますが。代わりにキャプティブポータルのログインがあると信じ、自動的にユーザーにログインページをトリガするためにOSを強制的にOSをだましオペレーティング・システムへ。


スプラッシュページとは何ですか?

不正な場合は、クライアントデバイスがインターネットにアクセスするために、無線LANに接続されている場合、画面が自動的にキャプティブポータルを表示するポップアップ表示されます。

スプラッシュページだけでなく、ほとんどのウェブサイト上のHSTSの実装をバイパスするだけでなく、あなたのOSの特定のログインページを示すの柔軟性を提供します。


通常のキャプティブポータルとスプラッシュページの唯一の違いは、自動的にそのキャプティブポータルログインページアップスプラッシュページ引っ張ります。一方、DNSリダイレクションベースの方法は、手動でWebサイトを開くために、ユーザが必要となります。

ユーザーが唯一のモバイルアプリを使用している場合を想像し、どのように利用者は、彼がログインする必要があります知っているだろうか?あなたがハッカーであれば、デバイスは自動的にインターネットにアクセスすると切断されますので、あなたの犠牲者を失うことになります。だから、キャプティブポータルログインページ、スプラッシュ画面をトリガするためのより良いくらいで柔軟なオプションと、このリード私たちを。

アタッカーとして自動的被害者のマシンを特定し、それに応じてペイロードを提供することができ、一方、事業者として、あなたは、別のクライアントデバイスへのサービスの種類を表示することができます。私はその核心を披露し、あなたの創造性と要件に実装を残しておきます。


異なるクライアントの動作:

すべてのオペレーティングシステムには、インターネットへのアクセスを検出する独自のさまざまな方法があります。
メカニズムは基本的にはこれです:

GET/POST http://foo.ir/bar.html
If bar.html == [expected content] > Open Internet
If bar.html != [expected content] > Captive Portal
If bar.html[status] != SUCCESS > No Network

キャプティブポータルが所定の位置にない場合、結果は期待されるものと一致し、OSには、インターネットへのフルアクセスがあることを知っているだろう。

URLは1を予想以外の結果を返す場合、OSがキャプティブポータルが所定の位置にあり、インターネットへのフルアクセスを得るために、認証を続行するために必要だということを検出します。この場合、OSの意志を自動的にスプラッシュページを開きます。

すべてのクライアントデバイスは、彼らがキャプティブポータルの背後にあるかどうかを調べるために、上述した戦略を使用しますが、URLは、スマートフォン、タブレット、ノートパソコンの特定のモデルに依存し、特定のOSのバージョンによって異なる場合があります。以下では、キャプティブポータルを検出するために、各モデルにより接触されているドメインのリストを見つけることができます。


各デバイスは、またAndroidの異なるが製造し、動作が異なります。例えば、見て、このリスト

xperia z5:
connectivitycheck.gstatic.com:80
clients3.google.com:80
---------------------
galaxy j3 2016:
172.217.21.14:80
connectivitycheck.android.com
---------------------
galaxy j7 2015:
172.16.98.10:80
connectivitycheck.gstatic.com:80
---------------------
galaxy note4:
nothing!
---------------------
ios 11:
captive.apple.com/hotspot-detect.html
---------------------
windows 10:
www.msftconnecttest.com

このリストは、異なるデバイス上で私のテストを示しています。しかし、Androidデバイスの異なるバージョンは、Windowsのオペレーティングシステム、iOSのバージョンは、このケースでは、あなたのテストに異なるだろう。
ソース

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=363609&siteId=1