ネットワークの状況を調べるコマンド。
LISTENしているポートは、netstat -an
を実行して、出力の上の方のLISTEN
と書いてあるレコードが該当する。そのレコードのLocal Address
の欄が127.0.0.1
と書かれていると、そのポートは localhost からしか接続できない。 0.0.0.0 と書かれていると、(iptablesなどでブロックされていなければ)外部からでもアクセスできる。
sudo netstat -anp | grep LISTEN
PIDの欄がプロセスIDである。一般ユーザ権限だとプロセスIDが表示されないものがあるので、知りたいプロセスが表示されていなかったら、root権限になるとよい。
シェルスクリプトの中で簡単に確認する例
if nc -z -w 1 localhost $port; then # 開いている場合else # 閉じている場合fi
nc
のオプション
-z
: ポートのスキャンのみをし、データの送信はしない-w
: タイムアウトの指定例えばポート番号9999を強制的異閉じたい場合は
sudo netstat -anp | grep LISTEN | grep 9999
とでもしてプロセスIDを調べて、殺しても問題なさそうであれば、
killl <プロセスID>
でkillしてしまえばよい。killの際に動作しているユーザ権限が違っていれば、root権限が必要。