GNU/Linux >> Linux の 問題 >  >> Ubuntu

Linuxの特定のポートでリッスンしているプロセスを確認する

Linuxでは、ポートはオペレーティングシステムで実行中のサービスに関連付けられている論理通信エンドポイントです。ポートはオペレーティングシステムによって完全に管理され、各ポートは特定のサービスに関連付けられています。ポートは、管理者がシステムで実行されているサービスを識別するのに役立ちます。

通常、各ポートには番号が割り当てられます。ポート番号の範囲は0〜65535です。1024未満のポートは、特権ポートと呼ばれます。 特別なプロトコルに使用されます。たとえば、Webトラフィック(HTTP)はポート80を通過し、SSHはポート22をリッスンします。1024を超えるポートは非特権と呼ばれます。 ポートであり、テスト目的で使用できます。たとえば、デフォルトのポート番号ではなく、これらのポートの1つで実行するようにWebサーバーを構成できます。

このガイドでは、Linuxのどのプロセスがどのポートでリッスンしているかを確認する方法に焦点を当てます。デモの目的でUbuntu20.04を使用しました。

netstatLinuxコマンドの使用

Linux Netstatコマンドは、ネットワークと統計という言葉のかばん語です。ご想像のとおり、これはLinuxシステムでネットワークとプロトコルの統計を表示するためのコマンドラインユーティリティです。さらに、ルーティングテーブル、TCPおよびUDPエンドポイントのステータス、およびネットワークインターフェイスに関する情報を印刷できます。

特定のポートをリッスンしているプロセスを表示するには、次の構文を使用します。

# netstat -pnltu | grep -w port_number

オプションのリストを分解してみましょう:

p –プロセス名とIDを表示します

n –ポートアドレスを表示します

l –リスニングソケットのみを一覧表示します

t –TCP接続を出力します

u –UDP接続を出力します

以下の例では、ポート80でリッスンしているサービスをプローブしています。

# netstat -pnltu | grep -w 80

出力は、ポート80でリッスンしているのはApacheWebサーバーサービスであることを示しています。

ポート3306でリッスンしているサービスを確認するには:実行:

# netstat -pnltu | grep -w 3306

lsofコマンドの使用

List Open Filesの頭字語であるlsofコマンドは、開いているファイルとディレクトリを表示するために使用されるコマンドです。 -iを使用 オプションの場合、特定のポートをリッスンしているサービスを明らかにすることができます。

以下の例では、SSH(セキュアシェル)サービスであるTCPポート22をリッスンしているサービスを検索しています。

# lsof -i TCP:22

フューザーコマンドの使用

最後に、fuserコマンドがあります。フューザーユーティリティは、ソケット、ファイル、またはディレクトリを使用してプロセスを見つけるために使用されるスマートなコマンドラインツールです。また、プロセスのタイプ、各プロセスのPID、プロセスを所有するユーザーの表示など、多くのことを行います。

フューザーを使用してポートをリッスンしているサービスを見つけるには、まず、示されているようにプロセスのPIDを見つけます。

# fuser 22/tcp

その後、続行してpsコマンドを呼び出し、サービスの名前を表示します。 34093に注意してください 前のコマンドから取得したプロセスのPIDです

# ps -p 34093 -o comm=

結論

Linuxシステムの特定のポートをリッスンしているプロセスを明らかにするために使用できる3つの方法を示しました。これで問題なく実行できることを願っています。


Ubuntu
  1. Linux –シリアルポートを使用してプロセスを見つける方法は?

  2. Linux の孤立したプロセスを見つける

  3. Linux でスワップ領域を使用しているプロセスを見つける方法は?

  1. Linux はハイパースレッド化されたコア ID を見つけます

  2. Linuxでファイルを使用しているプロセスを見つける方法は?

  3. どのプロセスがハード ドライブに書き込みを行っているかを調べる

  1. 特定のポートLinuxでリッスンしているサービスを確認します

  2. Linux –システムに搭載されているハードディスクを確認する方法は?

  3. Linux –特定のプロセスの名前空間を見つける方法は?