netstat はプロセス名の代わりにポート番号を表示します

netstat はプロセス名の代わりにポート番号を表示します

たとえば postgresql がどのポートをリッスンしているかを確認したいので、次のようにします。

netstat -l

しかし、これは巧妙なやり方で、ポートの代わりにプロセス名を出力します。

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:postgresql    *:*                     LISTEN     
tcp        0      0 *:31416                 *:*                     LISTEN   

netstat を使用して、どのプロセスがリッスンしているかを判断するにはどうすればよいでしょうか?

答え1

netstat(デフォルトの) ポートをサービス名に変換する場合、このマッピングは/etc/servicesファイルから取得されます。

したがって、ポートは次の場所から取得できます/etc/services

grep '^postgresql' /etc/services

または、(ホスト、ポート、ホスト名) の解決を防止し、出力を数値で投稿する-nオプションを追加する方がよいでしょう。netstat

netstat -nl

-tリスニング中の TCP ソケットのみを表示するオプションを追加することで、検索インターフェイスを制限できます( -uUDP の場合も同様、-xUNIX ドメイン ソケットの場合)。

netstat -nlt

結果に対して任意の標準テキスト処理ツールを使用し、必要なものだけを取得することもできます。

関連情報