firewalld
を使用して開かれたすべてのポートの完全なリストを表示する簡単な方法はありますか?
コマンドfirewall-cmd --list-all
は知っていますが、サービス名が表示されるだけで、サービスが開いていると定義しているポートは表示されません。
例えば:
[root@myserver log]# firewall-cmd --list-all
dmz (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: ssh squid my-icap
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
これらの各サービスの定義ファイルを開いて、どのポートがオープンとして定義されているかを確認できることはわかっていますが、これを行うには1行の方法が必要であるように見えます。
そして、私はnetstat
を探していません。ポートで何かがリッスンしているかどうかがわかります。これは、そのポートが別のホストからアクセス可能かどうかとは別の質問です。
私もこれを探していましたが、現在このbashワンライナーを思いつきました
$ for s in `firewall-cmd --list-services`; do firewall-cmd --permanent --service "$s" --get-ports; done;
そして通常のポートには
$ firewall-cmd --list-ports
あるいは単に
$ firewall-cmd --list-all