Windows10でFirewallを確認
今更ながら、Windows Defenderファイアウォールの機能(一部だが)を確認してみた。
何を、どうやって、、
特定ポートがブロック(または許可)状況の動作を知るため、
- msys2上でのnc(netcat)
- Wireshark
- ブラウザなど
を使って、Windows Defenderファイアウォールの動作を確認。
登録
nc実行(新規プログラム登録)
msys2上でncを実行すると
と表示される。ここで「キャンセル」をクリックすると、ファイアウォール一覧・受信の規則では「ブロック」として登録される。
「アクセスを許可する」をクリックすれば、「許可」として登録される。
初期状態では、ncの全ポートに対して、許可またはブロックとなる。特定ポートのみに適用するには、プロパティなどからポート番号を指定する。
ちなみに、右クリックなどで規則は削除できる。
個別登録
新しい規則をクリックして登録する。
ここではポートの規則を選択。
登録
検証
受信
ncのTCP受信をブロック
ncで特定ポートをListenする。リソースモニタで、ファイアウォールの状態が不許可となっていることがわかる。
このとき、別マシンから、ncコマンドでアクセス(echo test | nc 192.168.250.2 8756)したときのWiresharkデータは下記のとおり。
TCP SYNに対する応答(SYN ACK)が存在しない。ちなみに、ポートをListenしていない時のWiresharkデータも同じである。
ncのTCP受信を許可
同じように、nc特定ポートをリッスンする。
このとき、別マシンから、ncコマンドでアクセスは、当然成功する。Wiresharkデータは下記のとおり。
送信
ポート番号9804の送信をブロックする。
このとき、ncコマンドで、9804ポート番号を指定してアクセスしようとすると、コアをはくようだ。また、この時のWiresharkデータは存在しない。
次にポート番号80の送信をブロックする。
ブラウザでは下記表示となる。
EOF