Windowsは、インターネットにアクセスできるかどうか、またはWi-Fi接続にブラウザー内認証が必要かどうかをどのように確認しますか?


132

Windows 7では、インターネットアクセスがない場合、通知領域のネットワークアイコンにエラーインジケーターが表示さwifi-errれ、インターネットへの接続が成功するとエラーアイコンが消えますネットワーキング通常。ホテルまたは大学の多くのゲストネットワークのように、WiFi接続にブラウザー内認証ステップが必要な場合、次のようなポップアップバブルが表示されます。 追加のログオン情報が必要になる場合があります。クリックしてブラウザを開きます

Windowsは、インターネット接続が成功したかどうかをどのように知るのですか?
おそらく、Microsoftのオンラインサービスをチェックして、接続が成功しているか、他のページにリダイレクトされているか、まったく応答がないかどうかを確認していますが、このプロセスまたは使用されているサービスが文書化されていることはどこにも見当たりません。誰がこれがどのように機能するか説明できますか?単なる推測ではなく、事実を参照する回答をお勧めしますが、本当に良い推測があれば、それを選んでください。

この質問は今週のスーパーユーザー質問でした。詳細については
、2011年5月16日のブログエントリを読むか、独自の今週の質問を送信してください


1
Microsoftサービスを確認する場合、ブラウザ内のアクティベーション手順をどのようにすればいいのでしょうか?それとも私はあなたを誤解していますか?(btw +1、興味深い質問)
slhck

@slhck:それがチェックのポイントです。サービスに適切にアクセスできないが、その試みが何らかの応答を得る場合、ブラウザ内のステップがあるかもしれないと仮定します。で応答がない場合は、すべて、それだけでローカルアクセスがあります前提としています。そのプロセスが正確にどのように機能するのか、私にはわかりません。質問をもう少し明確に(できれば)更新しました。
ヒンクル

@nhinkle Windows PCはありませんが、誰かがWiresharkを起動して、そのような場合のマシンの実際の動作を確認できるかもしれません。
slhck

エラーインジケーターにインターネットアクセスがないと表示されたら、ネットワークトラブルシューティングツールを開きます。トラブルシューティングツールの実行中は、「Microsoft.comへの接続を試行しています」というステップを明確に見ることができます。だから、私の推測では、それはサービスを使用しているということです。
-Mayank

回答:


91

掘り下げた後(Windowsのネットワークおよびインターネット関連のサービスの数は驚くべき数です)、私はそれを見つけたと思います。Windows Vistaおよび7には、さまざまなネットワーク認識機能があります。そのうちの1つは、ネットワークシステムトレイアイコンで使用される接続テストを実行するネットワーク接続状態インジケーターです。インターネット接続のテストは簡単です。

  1. NCSIは、HTTP(より正確にはテキストドキュメント)を介して特定のページを読み込もうとし、取得できるかどうかをテストします。
  2. それが成功しない場合、Windowsは「インターネットアクセスなし」を報告します。

このメカニズムは、ドキュメントがホストされているドメインが予期されるIPアドレスに解決されるかどうかもチェックします。そのため、このテストは成功してもドキュメントを取得できない場合は、適切なインターネットアクセスを想定することもできます。

ホットスポットでまだ認証されていないときに「インターネットアクセスなし」と報告される理由は、ホットスポットの動作方法にあります。80および443(それぞれHTTPおよびHTTPS用)以外のすべてのポートをブロックします。これらは、ホットスポットの認証サーバーにリダイレクトされ、何らかの方法でDNS要求を混乱させる可能性があります。したがって、NCSIは、テストファイルがホストされているドメインを解決できず、HTTPトラフィックが認証サーバーにリダイレクトされるため、実際のファイルに到達できない場合でも解決できません。

ソース:http : //technet.microsoft.com/en-us/library/cc766017%28WS.10%29.aspx


13
ホットスポットではDNSを許可する必要があります。そうしないと、(IPアドレスではなく)ホスト名でサーバーにアクセスしようとすると、「アドレスを解決できません」タイプのエラーで失敗します。ホットスポットの設定に応じて、すべての名前を認証サーバーのアドレスに解決するか、名前を正しく解決し、認証サーバーへのhttp接続のリダイレクトのみに依存する場合があります。いいね!ドキュメントに記載されているチェックのDNS部分は、dns.msftncsi.comが正しいアドレスに解決されることを検証することであり、解決するかどうかではありません。
デイブシェロマン

1
それは確かに正しいです。それを反映するように答えを更新しました。
トビアスプルタット

素晴らしい発見、そしてそれがどのように機能するかの良い説明!より良い回答が表示されない場合は、すぐに報奨金が届きます。
ヒンクル

またNo Internet access、プロキシの背後にいるかどうかも示しています;)
オスカーメデロス

1
私はこれがほとんど正しいことを疑いませんが、それは不完全であるようです。DNSに問題がある場合があり、接続アイコンにポップアップが表示され、インターネットにアクセスできるがDNSが失敗していることが示されます。DNSを解決しようとするということは、ステップ1の前(またはステップ1の後に)のステップが必要だと思います。それが成功した場合(ただし、ページがロードされない場合)、代わりにDNSエラーメッセージが表示されます。
krowe2

69

接続ステータス決定プロセスの詳細は次のとおりです。

次のリストは、NCSIがWebサイトと通信して、ネットワークにインターネット接続があるかどうかを判断する方法を示しています。

  1. DNS名前解決のリクエスト dns.msftncsi.com

  2. http://www.msftncsi.com/ncsi.txt200 OKとテキストを返すためのHTTPリクエストMicrosoft NCSI

これはレジストリ設定で無効にできます。設定した場合

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
     NlaSvc\Parameters\Internet\EnableActiveProbing

から0Windowsは、インターネット接続をプローブしなくなります。

Appleは、インターネット接続やホテルの「ログイン」wifiページなどを検出するために、iOSで非常によく似た処理を行います。


1
Androidの新しいバージョン(Gingerbread以降と思われます...)も同様です...ページ。その背後にある考え方は同じです。
TM。

kindleもこれを行います、どういうわけか。Wi-Fiに接続すると、ブラウザを開いて利用規約に同意する必要があることが通知されました。私もこれがどのように生じたのかと思っていました。
-Kortuk

3
msftncsi.comがダウンした場合、すべてのWindows 7コンピューターがオンライン信号を表示できなくなりますか?それは天才だ!
リアムゼベディー

8

ジェフが言ったように、インターネット接続を検出するために、Windowsは次のことを行います。

  1. サーバーへのDNS要求
  2. 既知のコンテンツのHTTPリクエスト

ジェフの答えに加えて、私は疑う:

3。HTTPリクエストが外部のMicrosoftにリダイレクトされる場合(または期待されるコンテンツを返さない場合)、スクリーンショットにメッセージを表示します。


3

追加のログオン情報を必要とする接続の場合、次の3つのシナリオが発生しているJeffが言及したDNS解決手順によって決定される可能性が高くなります。

  • システムが正しいアドレスを解決する場合、接続はすべてクリアです。(インターネット接続)
  • システムがDNSリクエストを解決したが正しいアドレスではない場合、リダイレクトが必要です(必要な情報の追加ログが必要な場合があります)
  • システムがDNS要求を解決しない場合、インターネット接続の問題があります(ネットワーク/アクセスポイントへの接続は確立されますが、インターネット接続はありません)

私は次の要求を想定しています:

http://www.msftncsi.com/ncsi.txt

インターネットへの接続がすべて明確かどうかをテストするための簡単な方法です。その後、dns要求が実行され、接続の完全なステータスが判断されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.