ファイアウォールのポート確認は、システムのセキュリティ管理において非常に重要です。
ポートは通信の入口や出口となるため、どのポートが開いているかを確認することで、不正アクセスのリスクを低減できます。
ファイアウォール設定やポートの状態を確認するためのコマンドについて、WindowsとLinux(主にLinuxベースのファイアウォールであるiptables
およびfirewalld
)での方法を詳しく説明します。
Windowsの場合


Windowsのファイアウォール設定は、「Windows Defender ファイアウォール」で管理されます。
コマンドラインからファイアウォールのポートを確認する方法は以下の通りです。
netsh
コマンドを使う
netsh
は、Windowsのネットワーク設定を管理するためのコマンドラインツールです。
以下のコマンドで、ファイアウォールで許可されているポートを確認できます。
netsh advfirewall firewall show rule name=all
このコマンドは、ファイアウォールに設定されたすべてのルールを表示します。
特定のポートに関する情報を知りたい場合は、findstr
コマンドで絞り込むことができます。
netsh advfirewall firewall show rule name=all | findstr "ポート番号"
たとえば、ポート80に関する情報を取得する場合:
netsh advfirewall firewall show rule name=all | findstr "80"
PowerShellを使う
PowerShellはWindowsの強力なスクリプト言語であり、ファイアウォール設定の確認にも利用できます。
- ファイアウォールルールを一覧表示:
Get-NetFirewallRule
- 特定のポートに関連するルールを表示:
Get-NetFirewallRule | Where-Object { $_.LocalPort -eq '80' }
ポート80のルールを探す場合、上記のコマンドで指定します。
Linuxの場合
Linuxでは、主にiptables
やfirewalld
がファイアウォール管理に使われます。
それぞれのツールでポートを確認する方法を紹介します。
iptables
を使う
iptables
は、Linuxカーネルのパケットフィルタリングのためのツールです。
以下のコマンドで、現在のファイアウォールルールを確認できます。
sudo iptables -L -n -v
このコマンドは、現在のすべてのチェーン(INPUT
, OUTPUT
, FORWARD
)のルールを表示します。
オプションの説明:
-L
: ルールの一覧表示-n
: IPアドレスとポート番号を数値で表示-v
: 詳細情報の表示
特定のポートに関する情報を確認するには、以下のようにgrep
でフィルタリングします。
sudo iptables -L -n -v | grep "ポート番号"
例えば、ポート80に関する情報を確認する場合:
sudo iptables -L -n -v | grep ":80"
firewalld
を使う
firewalld
は、iptables
に代わる新しいファイアウォール管理ツールで、より簡単にファイアウォールの設定と管理が可能です。
firewalld
を使ってポートを確認するには、以下のコマンドを使用します。
- 現在のゾーンの一覧を表示:
sudo firewall-cmd --get-active-zones
アクティブなゾーンがわかったら、そのゾーンで開いているポートを確認します。
sudo firewall-cmd --zone=ゾーン名 --list-ports
例えば、public
ゾーンで開いているポートを確認する場合:
sudo firewall-cmd --zone=public --list-ports
nmap
を使う
nmap
は、ネットワークスキャニングツールであり、ファイアウォールを介したポートの状態を外部から確認するのに便利です。
- ローカルマシンで開いているポートを確認:
sudo nmap -sT localhost
- リモートマシンの特定のポートを確認:
sudo nmap -p ポート番号 ホスト名またはIPアドレス
例えば、ポート80を確認する場合:
sudo nmap -p 80 example.com
まとめ


ファイアウォールのポート確認は、セキュリティ管理の基本であり、WindowsとLinuxではそれぞれ異なるツールとコマンドが使われます。
Windowsでは、netsh
やPowerShell、Linuxではiptables
、firewalld
、および外部からのスキャンツールとしてnmap
が利用されます。
これらのコマンドを使いこなすことで、ファイアウォールの設定やネットワークのセキュリティ状態を効率的に監視できます。
以上、ファイアウォールのポート確認のコマンドについてでした。
最後までお読みいただき、ありがとうございました。