pingを使うと、相手のコンピュータが稼働しているかどうかを確認できる。ただWindows OSはデフォルトではpingに応答しない。Windows Defenderファイアウォールの設定を変更することで、これを許可する方法を紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象OS:Windows 10/Windows 11
TIPS「Windowsのpingコマンドでネットワークトラブルの原因を調査する」では、Windows OSに付属する「ping」コマンドの基本的な使い方について説明している。その中では、「pingを実行すると対象PCからpingの応答が返ってくるので、それを使って相手のPCが稼働しているかどうかを確認できる」と紹介した。システムの死活監視においては、pingは一番基本的なコマンドである。
pingは、ネットワークプロトコルでいうと、TCP/IPの補助プロトコルである「ICMP(Internet Control Message Protocol)」の「エコー要求/エコー応答」メッセージを使って相手と通信している。だが現在のWindows OSでは、セキュリティなどの理由のため、デフォルトではこのパケットの受信を許可していない。pingでPCの存在が判明すると、次は脆弱(ぜいじゃく)性を狙う攻撃につながるなど、好ましくない使われ方がされる危険性があるためだ。
そのため、インストールしたばかりのWindows PCに向けて「ping pc01」のようなコマンドを実行しても応答がないことも多い(Active Directoryドメイン環境などでは、管理者があらかじめ許可していることもあり、その場合は応答がある)。だが社内や家庭内など、限定された環境ならば管理のためにpingを許可しても問題ないだろう。
本Tech TIPSでは、Windows 10/11を対象として、pingに応答するようにWindowsファイアウォールの設定を変更する方法を紹介する。
pingコマンドに応答させるためには、Windowsファイアウォールの設定を変更して、「ICMPのエコー」プロトコルの受信を許可すればよい。以下、Windows 11での画面を例に、その手順を紹介する(特記しない限り、Windows 10と操作手順は共通)。
まずは「Windowsセキュリティ」アプリを起動する。
「Windowsセキュリティ」アプリの画面が表示されたら、「プロファイル」と呼ばれるネットワーク接続状況のうち、「アクティブ」(有効)になっているものを確認する。
ちなみに、「windowsdefender://Network」というコマンドラインを実行すると、以下の「ファイアウォールとネットワーク保護」という画面を直接呼び出せる。
実際に適用されるファイアウォールの規則は、プロファイルによって異なる。「パブリック」は公共/公衆ネットワーク環境を想定していて、最も制限が厳しい状態に設定されている。「ドメイン」はActive Directoryドメインに参加している場合に適用されるプロファイルである。
ネットワークインタフェースが複数あるシステムでは、2つ以上のプロファイルがアクティブになっていることがあるので、よく確認しておく。
もしプロファイルが2つしか表示されていなかったり、「アクティブ」が見当たらなかったりする場合は、いずれかのプロファイルをクリックして開き、すぐに左ペインの[ファイアウォールとネットワーク保護]をクリックして、この画面に戻ってみよう。これで3つのプロファイルが表示されるはずである。どうしても表示されない場合は、無視して次のステップへ進んで構わない。
アクティブなプロファイルを確認できたら、[詳細設定]リンクをクリックして、「セキュリティが強化されたWindows Defenderファイアウォール」を開く。その左ペインのツリーにある[受信の規則]をクリックして、受信に対するファイアウォール規則の一覧画面を表示させる。
真ん中のペインの「受信の規則」一覧から、以下の手順でpingを受け付けるための規則を見つける。
デフォルトでは以下のスクリーンショットのように、IPv4向けとIPv6向けの規則がそれぞれ2つずつ、計4つある。いずれも行頭にチェックマークがない無効状態のはずだ。
上述の規則の候補が見つかったら、以下の手順で絞り込んでから有効化する。
規則を右クリックする前に、[Ctrl][Shift]キーを使って複数の規則を選択すると、同時にそれらを有効化できる。
以上の手順を実行すると、同じサブネット内からのICMPのエコー要求の受信が許可され、直ちにpingに応答するようになるはずだ。実際に以下の手順で試してみよう。
ICMPを許可すると、途中からすぐに応答が返ってくるようになるはずだ。
もしpingの応答がない場合は、前述のファイアウォール設定で、使用しているプロファイル名などを再確認すること。
上の例では、「プライベート」と「パブリック」プロファイルに対するpingの応答を許可した。そのため、例えばノートPCを携帯電話回線や屋外の無線LANなどにつないで利用している場合でも、同じサブネット内の未知のノードからのpingに応答することになる可能性がある(実際には、こうしたネットワークでは隣接ノードとの通信を禁止していて、pingが届かないこともよくあるが)。
このような状況を回避し、本当にプライベート(家庭内や社内のローカルLAN)からのpingだけを許可したければ、受信規則に含まれるプロファイルから「パブリック」を除外するか、受信規則を複製して、プライベートプロファイルのみを対象とする規則を作ればよい。
プライベートプロファイルだけに限定する手順は以下の通りだ。
Copyright© Digital Advantage Corp. All Rights Reserved.