この質問は、ICMPv4 タイムスタンプ要求 (タイプ 13) メッセージに特に関連しています。
Windowsファイアウォールがある場合無効ホストからタイムスタンプ要求を送信すると、クライアントは要求を受信してタイムスタンプ応答 (タイプ 14) で応答します。
Windowsファイアウォールがある場合有効ホストからタイムスタンプ要求を送信できますが、クライアントは要求を受信しますが、タイムスタンプ応答で応答しません。これはファイアウォールが要求をブロックしているためだと思います。ただし、これが実際に当てはまることを示す特定のルール設定は見当たりません。また、この特定のメッセージがデフォルトでブロックされているかどうかを理解するのに役立つオンライン ドキュメントも見つかりませんでした (ICMP エコーなど)。
Windows ファイアウォールがデフォルトでこのメッセージをブロックするかどうか知っている人はいませんか? このデフォルト設定を確認/構成できる場所はありますか? 私が見逃しただけのドキュメントがどこかにありますか?
私は Nping を使用してメッセージを送信し、Wireshark を使用してパケットの送受信を監視しています。
答え1
Windowsファイアウォールブロックすべてデフォルトでは、処理順序は文書化されています。TechNetでただし、簡単に言えば、「1) すべての「拒否」ルールを処理し、2) すべての「許可」ルールを処理し、3) プロファイル設定に応じてその他すべてを拒否または許可する」と考えることができます。
ファイアウォール設定ツールを開くと(wf.msc
、または「高度なセキュリティを備えた Windows ファイアウォール」アプリを起動するか、コントロール パネルの「 」リンクをクリックすると、次の画面が表示されます。
デフォルトでは、「ルールに一致しない受信接続はブロックされます」と表示され、これは実際には全てICMP 要求を含む、既存の状態に関連付けられていないパケット。タイムスタンプ要求に関連する特定のルールが見つからない場合は、デフォルト設定に従って拒否されることを意味します。
したがって、特定の ICMP タイプを許可するには、もちろん「受信ルール」の下にルールを作成するか、既存のルールを有効にする必要があります。たとえば、「ファイルとプリンターの共有」グループには、着信 ICMP「エコー要求」を許可するルールが組み込まれています。
各ルールの特定の ICMP タイプは、「プロトコルとポート → ICMP 設定: カスタマイズ」で選択されます。(タイムスタンプ要求を許可するには、カスタム ルールを作成する必要があります。組み込みルールの場合、リストは読み取り専用です)。
最後に、ファイアウォールが許可するパケットを通過させるということは、OSが実際にサポートその特定の ICMP 要求タイプ。ICMPv4 の「タイムスタンプ要求」はかなりまれであるため (Windows ファイアウォールに組み込まれたルールがないほどまれであり、ICMPv6 にはまったく同等のものがありません)、将来の Windows バージョンでそのような要求に応答するコードが「非推奨」になり、削除されないという保証はありません...