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

指定されたポートでリッスンしているプロセスを知るための最良の方法

はじめに

ポート 通信エンドポイントです。ソフトウェアレベルでは、オペレーティングシステム内で、ポートは特定のプロセスまたはネットワークサービスのタイプを識別する論理構造です。ポートは、トランスポートプロトコルとアドレスの組み合わせごとに、ポート番号と呼ばれる16ビットの符号なし番号によって識別されます。 。ポート番号を使用する最も一般的なトランスポートプロトコルは、伝送制御プロトコル(TCP)とユーザーデータグラムプロトコル(UDP)です。

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

1。 lsofコマンドの使用

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

システムにインストールするには、

を実行します
$ sudo apt-get install lsof     #for Debian, Ubuntu and Mint
$ sudo yum install lsof         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/lsof  #for Gentoo Linux
$ sudo pacman -S lsof           #for Arch Linux
$ sudo zypper install lsof      #for OpenSUSE  

特定のポートでリッスンしているプロセス/サービスを見つけるには、以下のコマンドを実行します:

[root@unixcop ~]# lsof -i :80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   12289   root    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24040 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24041 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24042 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
[root@unixcop ~]#

2。 netstatコマンドの使用

つまり、 netstat コマンドは、ネットワーク接続、ルーティングテーブル、インターフェイス統計などの情報を表示するために使用される(ネットワーク統計)を参照します。

netstatをインストールするには:

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

grepで使用できます 以下のコマンドのように、Linuxの特定のポートでリッスンしているプロセスまたはサービスを検索するコマンド:

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

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

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

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

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

次のコマンドでインストールできます:

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

コマンドを実行すると、特定のポートでリッスンしているプロセス/サービスを見つけることができます:

[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]#

psコマンドでPID番号を使用してプロセス名を検索するには :

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=
[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]# ps -p 12289 -o comm=
httpd
[root@unixcop ~]# ps -p 24040 -o comm=
httpd
[root@unixcop ~]

結論

このガイドでは、Linuxの特定のポートでリッスンしているプロセス/サービスを見つけるための最良の方法を知っています。


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

  2. バックアップするファイルシステムはどれが最適ですか?

  3. 実行中のプロセスの絶対パスを知るにはどうすればよいですか?

  1. Linux –特定のポートを使用してプロセスのPidを見つけますか?

  2. スワップを使用しているプロセスを知るにはどうすればよいですか?

  3. 特定のポートを使用してプロセスの PID を見つけていますか?

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

  2. Linuxでファイルを表示するための6つの最良の方法

  3. 特定のポートでリッスンしているサービスを見つける方法