Linux でオープンポートのリストを取得する
アプリケーションで使用するためのすべてのフリーオープンポートをリストアップする Linux コマンドが必要です
lsof -i TCP| fgrep LISTEN
リストアップされたポートが必ずしもフリーであるとは限りませんので、役に立っているとは思えません。どのように私は使用中でない自由に開いている港をリストするか。
アプリケーションで使用するためのすべてのフリーオープンポートをリストアップする Linux コマンドが必要です
lsof -i TCP| fgrep LISTEN
リストアップされたポートが必ずしもフリーであるとは限りませんので、役に立っているとは思えません。どのように私は使用中でない自由に開いている港をリストするか。
netstat -lntu
は @askmish が回答したように、システム上で tcp と udp ポート上で実行されているサービスのリストを表示します。サービス名を解決しようとしないでください
- -l
= tcp ポート
- -n
= udp ポート
- -t
= プログラム名
どのポートが空いているかを知りたいだけで、どのプログラムが実行されているかを知りたいだけなので、'p’ パラメータは必要ありません。
これはシステム上のどのポートが使い切られたかを表示するだけです。例えば、あなたがNATの後ろにいて、外部からアクセスできるようにしたいサービスがある場合などです。また、ファイアウォールが外部からの訪問者のためにポートをブロックしている場合もあります。そのような場合には、nmapが救助に来る。警告:nmapはあなたの制御下にあるネットワーク上でのみ使用してください。また、nmapのpingをブロックすることができますファイアウォールのルールがありますが、あなたは正しい結果を得るためにオプションで周りをいじくり回す必要があります。
sudo netstat -plnt | grep -E '(0.0.0.0:|:::|127.0.0.1:|::1:)' | awk 'NR>2{print $7}' | sort -n | uniq
を試してみて、これを見てください。
次のコマンドは、Ubuntu / Debianと同じ形式で出力する任意のUnixで動作します - ローカルアドレスが列4にあり、出力は上部に2行のヘッダーが含まれています。これらの番号のいずれかが異なる場合は、以下のawkコマンドを微調整します。
あなたがIPv4のみをしたい場合:
netstat -lnt | awk 'NR>2{print $4}' | grep -E '0.0.0.0:' | sed 's/.*://' | sort -n | uniq
あなたがIPv6のみをしたい場合:
netstat -lnt | awk 'NR>2{print $4}' | grep -E ':::' | sed 's/.*://' | sort -n | uniq
あなたが一緒に両方をしたい場合:
netstat -lnt | awk 'NR>2{print $4}' | grep -E '(0.0.0.0:|:::)' | sed 's/.*://' | sort -n | uniq
コマンドは、すべてのインターフェイスで聞いているポート番号のリストを出力します。localhost インターフェイスで聞いているすべての港をリストしたい場合は、次のようなものを使用して下さい:
netstat -lnt | awk 'NR>2{print $4}' | grep -E '(127.0.0.1:|::1:)' | sed 's/.*://' | sort -n | uniq