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

特定のポートでリッスンしているプロセスを見つける3つの方法

ポートは、通信のエンドポイントを表す論理エンティティであり、オペレーティングシステムの特定のプロセスまたはサービスに関連付けられています。以前の記事では、Linuxで開いているすべてのポートのリストを確認する方法と、Netcatコマンドを使用してリモートポートに到達できるかどうかを確認する方法について説明しました。

この短いガイドでは、Linuxの特定のポートでリッスンしているプロセス/サービスを見つけるさまざまな方法を紹介します。

1。 netstatコマンドの使用

netstat(ネットワーク統計)コマンドは、ネットワーク接続、ルーティングテーブル、インターフェイス統計などに関する情報を表示するために使用されます。 LinuxやWindowsOSを含むすべてのUnixライクなオペレーティングシステムで利用できます。

デフォルトでインストールされていない場合は、次のコマンドを使用してインストールします。

$ sudo apt-get install net-tools    [On Debian/Ubuntu & Mint] 
$ sudo dnf install net-tools        [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux]
$ pacman -S netstat-nat             [On Arch Linux]
$ emerge sys-apps/net-tools         [On Gentoo]
$ sudo dnf install net-tools        [On Fedora]
$ sudo zypper install net-tools     [On openSUSE]

インストールしたら、grepコマンドとともに使用して、次のようにLinuxの特定のポートでリッスンしているプロセスまたはサービスを見つけることができます(ポートを指定します)。

$ netstat -ltnp | grep -w ':80' 

上記のコマンドでは、フラグ。

  • l –リッスンソケットのみを表示するようにnetstatに指示します。
  • t –tcp接続を表示するように指示します。
  • n –数値アドレスを表示するように指示します。
  • p –プロセスIDとプロセス名の表示を有効にします。
  • grep -w –正確な文字列(:80)の一致を示します。

netstat このコマンドは非推奨になり、Linuxでは最新のssコマンドに置き換えられました。

2。 lsofコマンドの使用

lsofコマンド(開いているファイルの一覧表示)は、Linuxシステムで開いているすべてのファイルを一覧表示するために使用されます。

システムにインストールするには、以下のコマンドを入力してください。

$ sudo apt-get install lsof     [On Debian, Ubuntu and Mint]
$ sudo yum install lsof         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/lsof  [On Gentoo Linux]
$ sudo pacman -S lsof           [On Arch Linux]
$ sudo zypper install lsof      [On OpenSUSE]    

特定のポートでリッスンしているプロセス/サービスを見つけるには、次のように入力します(ポートを指定します)。

$ lsof -i :80

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

フューザーコマンドは、Linuxで指定されたファイルまたはファイルシステムを使用しているプロセスのPIDを表示します。

次のようにインストールできます:

$ sudo apt-get install psmisc     [On Debian, Ubuntu and Mint]
$ sudo yum install psmisc         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/psmisc  [On Gentoo Linux]
$ sudo pacman -S psmisc           [On Arch Linux]
$ sudo zypper install psmisc      [On OpenSUSE]    

以下のコマンドを実行すると、特定のポートでリッスンしているプロセス/サービスを見つけることができます(ポートを指定してください)。

$ fuser 80/tcp

次に、psコマンドでPID番号を使用してプロセス名を見つけます そのように。

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=

Linuxのプロセスに関するこれらの便利なガイドも確認できます。

  • Linuxのプロセスについて知っておくべきこと[包括的なガイド]
  • CPULimitツールを使用してLinuxでプロセスのCPU使用率を制限する
  • Linuxで実行中のプロセスを見つけて強制終了する方法
  • Linuxで最も高いメモリとCPU使用率で上位のプロセスを検索する

それで全部です! Linuxの特定のポートでリッスンしているプロセス/サービスを見つける他の方法を知っていますか。下のコメントフォームからお知らせください。


Linux
  1. Linux でどのプロセスがファイルをロックしているかを調べるにはどうすればよいですか?

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

  3. Linux の特定のポートで実行されているプロセスを強制終了するには?

  1. プロセスが機能するために必要な Linux の機能を調べる方法は?

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

  3. ファイルを変更しているプロセスを見つける

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

  2. Linuxで特定のプロセスを実行しているCPUコアを見つける4つの方法

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