窓辺の小石 第169回 NCSI ~ネットワーク接続捜査班
マイナビニュース / 2024年6月7日 17時46分
多くのオペレーティングシステムには、インターネット接続を検出するための機能がある。Windowsでも、コントロールパネルなどでインターネット接続があるかどうかを表示できる(写真01)。
Windowsのインターネット接続検出機能は、NCSI(Network Connection Status Indicator)と呼ばれる。タスクバーのネットワークアイコンで、インターネット接続がないことを「地球儀と禁止標識(丸に斜線)」のアイコン(写真02)で表示するのは、この機能を利用している。
インターネット接続の有無を検出することは、意外に面倒だ。まず、ネットワークデバイスが正常に動作しており、適切なIPアドレスが割り当てられ、一番手前にあるゲートウェイ(ルーター)に接続できる必要がある。そのほか、DNSで名前解決ができるかどうか、インターネット内で確実に動作しているサーバーに接続できるかどうかを調べなければならない。
Windowsでは、何をもってインターネット接続があるのかを判断しているのかというと、Windows 11はHTTPで、特定のWebサイトからテキストファイルが正しく入手できるかを調べている。過去には、専用のDNSサーバーを使ってアドレス解決ができるかどうかを調べることもあったが、現在では、HTTPのみでインターネット接続の有無を判定している。
具体的には、http://www.msftconnecttest.com/connecttest.txt (IPv4の場合)をアクセスして、テキストファイルを取得する。その中身が“Microsoft Connect Test”であるかどうかをテストしている。NCSIでは、このHTTPによるインターネット接続の検出をアクティブ・プローブと呼ぶ。NCSIは、ネットワーク接続を管理する「ネットワークリストマネージャー(netlistmgr)」サービス内で動作している。
アクティブプローブが成功したあと、通過パケットを定期的に検査して、インターネット接続が継続しているかどうかをチェックする(これをパッシブ・プローブと呼ぶ)。また、ネットワークリストマネージャーは、API(たとえばINetworkListManager::GetConnectivity)でも、インターネット接続の状態を提供する。
こうしたインターネット接続のチェックは、ネットワーク・インターフェースやTCP/IPスタック、プロキシー、LANやルーター、ファイアウォール、インターネット接続プロバイダ、DNSといったネットワークの下回りや通信経路にすべて問題がない場合のみに成功する。それぞれのコンポーネントでも個別のチェックはある。このインターネット接続の検出はネットワークの総合試験でもある。
-
-
- 1
- 2
-
この記事に関連するニュース
-
Windows Subsystem for Linuxガイド 第37回 WSL2でDockerを使う その3「ネットワーク接続Dockerデスクトップ編」
マイナビニュース / 2024年6月25日 16時17分
-
中国の攻撃者がF5 BIG-IPアプライアンスを踏み台にスパイ活動
マイナビニュース / 2024年6月20日 7時27分
-
リモートアクセスサービスの導入・運用をよりセキュアに!シンクライアントシステム「SKYDIV Desktop Client Ver.6.4」を発売しました
PR TIMES / 2024年6月17日 16時45分
-
窓辺の小石 第170回 ネットの総和
マイナビニュース / 2024年6月14日 10時13分
-
Windows Subsystem for Linuxのアップデート概要発表
マイナビニュース / 2024年6月5日 15時31分
ランキング
-
1Amazon、10回目の「プライムデー」を7月16日から2日間開催 100万点以上が“特別価格“に
ITmedia NEWS / 2024年6月25日 21時15分
-
2「虎に翼」、髪の毛ボサボサな新キャラに驚きの声 「化けてるよ凄っ」「どこかで見たお顔? と思ったら」
ねとらぼ / 2024年6月25日 18時22分
-
3「GTO」出演後、消息をたった“幻の男”が登場 菊池風磨&小芝風花が再会し「変わってない!」と喜び
ねとらぼ / 2024年6月24日 20時8分
-
4「ねこ、かわいい」が詰まったイヤホン。電源オンで「みゃー」
ASCII.jp / 2024年6月25日 18時0分
-
5「まるでガラケー」折りたたみ式のスマホを支える「有機EL」の特徴 大画面のメリット探る
よろず~ニュース / 2024年6月25日 11時0分
複数ページをまたぐ記事です
記事の最終ページでミッション達成してください
![](/pc/img/mission/mission_close_icon.png)