web-dev-qa-db-ja.com

ポートはプログラムの実行に使用されます

プログラムが実行時に使用しているポートを確認するにはどうすればよいですか?

Ubuntu14.04サーバーとプログラム「SMcli」を使用しています。しかし、プログラムは実行のたびに「ストレージシステムへの接続中にネットワークエラーが検出されました」と表示します。しかし、場所を変更する前は、すべてが正常に機能していました。

次に、このプログラムが使用しているポートを知る必要があります。次に、ターゲットがリッスンしているポートを確認できます。

1
user3772108

プログラムの起動前と起動後に、netstat -tunapまたはnetstat -tunlpを使用してみてください。

2
Pavol Polacko

プログラムがncの場合(たとえば)、次のことができます。

Sudo netstat -tulpn | grep "nc" | grep -Po "(?<=:)[^ ]+(?=.*:)"

または

Sudo netstat -tulpn | grep "nc" | tr -s ' ' | cut -d' ' -f4 | cut -d: -f2

ここでは、IPv4のみを検討し、サービスのインスタンスが1つだけ実行されていると想定しています。上記のいずれかを検討する必要がある場合は、名前でサービスを探してから、どちらを使用するかを決定する必要があります。

Sudo netstat -tulpn | grep "nc"

ncを検索するサービス名に置き換えます。

例:

$ Sudo netstat -tulpn | grep "nc" | tr -s ' ' | cut -d' ' -f4 | cut -d: -f2
4567
$ Sudo netstat -tulpn | grep "nc" | grep -Po "(?<=:)[^ ]+(?=.*:)"
4567
2
heemayl