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

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

lsofのインストールと使用

lsof は、すべてのアクティブなプロセスに属するすべての開いているファイルを一覧表示するコマンドラインユーティリティです。

Linuxにインストールするには、使用するディストリビューションの種類に応じて次のコマンドを使用します。

Debian、Ubuntuの場合:

sudo apt install lsof

CentOSでは、RHEL:

sudo yum install lsof

CentOS 8、RHEL 8、Fedoraなどの新しいバージョン

sudo dnf install lsof

どのプロセスがどのポートで実行されているかを確認するには、ポート番号を指定するだけです。

sudo lsof -i :3000

サンプル出力:

# lsof -i :3000
COMMAND      PID    USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
grafana-s 264023 grafana   10u  IPv6 2887779      0t0  TCP *:hbci (LISTEN)

詳細については、manページを参照してください。

man lsof

netstatのインストールと使用

Netstatは、ネットワーク接続、ルーティングテーブル、インターフェイス統計、マスカレード接続、およびマルチキャストメンバーシップを印刷するために使用されるコマンドラインユーティリティです。

Netstatは、ほとんどのLinuxディストリビューションのデフォルトのリポジトリで利用できます。

Linuxとそのバリアントにインストールするには、次のようにします。

CentOSでは、RHEL:

sudo yum install net-tools

# On Fedora, RHEL 8 and Centos8
sudo dnf install net-tools

Debian、Ubuntuの場合:

sudo apt install net-tools

次のコマンドを使用して、どのサービスがどのポートでリッスンしているかを確認します。

sudo netstat -tulpn

サンプル出力:

# sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8088          0.0.0.0:*               LISTEN      538847/influxd
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      900/nginx: master p
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:7088            0.0.0.0:*               LISTEN      538639/docker-proxy
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      900/nginx: master p
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      970/sshd
tcp6       0      0 :::9080                 :::*                    LISTEN      393063/promtail-lin
tcp6       0      0 :::3000                 :::*                    LISTEN      264023/grafana-serv
tcp6       0      0 :::3100                 :::*                    LISTEN      391839/loki-linux-a
tcp6       0      0 :::9090                 :::*                    LISTEN      263154/prometheus
tcp6       0      0 :::9096                 :::*                    LISTEN      391839/loki-linux-a
tcp6       0      0 :::9100                 :::*                    LISTEN      262769/node_exporte
tcp6       0      0 :::44303                :::*                    LISTEN      393063/promtail-lin
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::7088                 :::*                    LISTEN      538645/docker-proxy
tcp6       0      0 :::80                   :::*                    LISTEN      900/nginx: master p
tcp6       0      0 :::8086                 :::*                    LISTEN      538847/influxd
tcp6       0      0 :::22                   :::*                    LISTEN      970/sshd
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd
udp        0      0 127.0.0.1:323           0.0.0.0:*                           777/chronyd
udp6       0      0 :::111                  :::*                                1/systemd
udp6       0      0 ::1:323                 :::*                                777/chronyd
udp6       0      0 fe80::458:3aff:fed6:546 :::*                                850/NetworkManager

特定のポートに関心がある場合は、grepを使用してフィルタリングできます:

sudo netstat -tulpn | grep 3000
sudo netstat -tulpn | grep grafana

フラグ:

  • -tフラグはtcp接続を示します。
  • -uフラグはudp接続を示します。
  • -lフラグはリスニングソケットを表示します。
  • -pフラグは、プロセスID(PID)とそのポートを使用しているもののプロセス名を表示します。
  • -nフラグは数値アドレスを表示します。

詳細については、manページを参照してください。

man netstat

「ss」コマンドの使用

ss ソケットを調査するためのコマンドラインユーティリティです。これは、netstatおよびssの使用法に代わるものです。 netstatとほぼ同じです 。 Redhat、Debian、およびそれらのバリアントなどの人気のあるLinuxディストリビューションにプリインストールされています。

どのサービスがどのポートでリッスンしているかを確認するには、次のコマンドを実行します。

sudo ss -tulpn

サンプル出力:

Netid   State    Recv-Q   Send-Q                        Local Address:Port        Peer Address:Port   Process
udp     UNCONN   0        0                                   0.0.0.0:111              0.0.0.0:*       users:(("rpcbind",pid=705,fd=5),("systemd",pid=1,fd=33))
udp     UNCONN   0        0                                 127.0.0.1:323              0.0.0.0:*       users:(("chronyd",pid=777,fd=6))
udp     UNCONN   0        0                                      [::]:111                 [::]:*       users:(("rpcbind",pid=705,fd=7),("systemd",pid=1,fd=35))
udp     UNCONN   0        0                                     [::1]:323                 [::]:*       users:(("chronyd",pid=777,fd=7))
udp     UNCONN   0        0           [fe80::458:3aff:fed6:8255]%eth0:546                 [::]:*       users:(("NetworkManager",pid=850,fd=26))
tcp     LISTEN   0        128                               127.0.0.1:8088             0.0.0.0:*       users:(("influxd",pid=538847,fd=3))
tcp     LISTEN   0        128                                 0.0.0.0:443              0.0.0.0:*       users:(("nginx",pid=902,fd=8),("nginx",pid=901,fd=8),("nginx",pid=900,fd=8))
tcp     LISTEN   0        128                                 0.0.0.0:111              0.0.0.0:*       users:(("rpcbind",pid=705,fd=4),("systemd",pid=1,fd=32))
tcp     LISTEN   0        128                                 0.0.0.0:7088             0.0.0.0:*       users:(("docker-proxy",pid=538639,fd=4))
tcp     LISTEN   0        128                                 0.0.0.0:80               0.0.0.0:*       users:(("nginx",pid=902,fd=9),("nginx",pid=901,fd=9),("nginx",pid=900,fd=9))
tcp     LISTEN   0        128                                 0.0.0.0:22               0.0.0.0:*       users:(("sshd",pid=970,fd=5))
tcp     LISTEN   0        128                                       *:9080                   *:*       users:(("promtail-linux-",pid=393063,fd=10))
tcp     LISTEN   0        128                                       *:3000                   *:*       users:(("grafana-server",pid=264023,fd=10))
tcp     LISTEN   0        128                                       *:3100                   *:*       users:(("loki-linux-amd6",pid=391839,fd=9))
tcp     LISTEN   0        128                                       *:9090                   *:*       users:(("prometheus",pid=263154,fd=8))
tcp     LISTEN   0        128                                       *:9096                   *:*       users:(("loki-linux-amd6",pid=391839,fd=10))
tcp     LISTEN   0        128                                       *:9100                   *:*       users:(("node_exporter",pid=262769,fd=3))
tcp     LISTEN   0        128                                       *:44303                  *:*       users:(("promtail-linux-",pid=393063,fd=11))
tcp     LISTEN   0        128                                    [::]:111                 [::]:*       users:(("rpcbind",pid=705,fd=6),("systemd",pid=1,fd=34))
tcp     LISTEN   0        128                                    [::]:7088                [::]:*       users:(("docker-proxy",pid=538645,fd=4))
tcp     LISTEN   0        128                                    [::]:80                  [::]:*       users:(("nginx",pid=902,fd=10),("nginx",pid=901,fd=10),("nginx",pid=900,fd=10))
tcp     LISTEN   0        128                                       *:8086                   *:*       users:(("influxd",pid=538847,fd=5))
tcp     LISTEN   0        128                                    [::]:22                  [::]:*       users:(("sshd",pid=970,fd=7))

特定のサービス(例:grafana)の出力をフィルタリングするには、次を使用します:

sudo ss -tulpn | grep grafana
sudo ss -tulpn | grep 3000

詳細については、manページを参照してください。

man ss

fuserコマンドのインストールと使用

コマンドラインユーティリティfuser また、ファイルまたはソケットを使用してプロセスを識別するためにも使用されます。指定したファイルまたはファイルシステムを使用しているプロセスのPIDを表示します。

ほとんどのLinuxディストリビューションのデフォルトのリポジトリでも利用できます。

Linuxにインストールするには、次のコマンドを実行します。

Debian、Ubuntuの場合:

sudo apt install psmisc

CentOSでは、RHEL:

sudo yum install psmisc

sudo dnf install psmisc

特定のポートでリッスンしているサービスまたはプロセスのPIDを見つける必要があります。次のコマンドを使用して、ポート3000でリッスンしているプロセスのPIDを確認しましょう。

sudo fuser 3000/tcp

以下のような出力が表示されます。

3000/tcp:            264023

ここでは、264023 はPIDです。

次に、コマンドを使用してPIDを使用して実際のプロセスを確認します。

ps -p 264023 -o comm=

出力

# ps -p 264023 -o comm=
grafana-server

注:詳細な-vを追加する フラグを使用すると、1つのコマンドで完全な詳細を表示できます。

sudo fuser -v 3000/tcp

出力:

# sudo fuser -v 3000/tcp
                     USER        PID ACCESS COMMAND
3000/tcp:            grafana   264023 F.... grafana-server

詳細については、マニュアルページを参照してください。

man fuser

Linux
  1. Linuxでncatを使用してポートリダイレクトを設定する

  2. Linuxでどのタイムゾーンを確認する方法は?

  3. Linux マシンでどのポートがビジーで、どのポートが空いているかを確認するにはどうすればよいですか?

  1. netstatでリスニングポートを確認する

  2. Linuxでのポートの使用を確認する

  3. Linuxで実行中のサービスを確認する

  1. Linux OS サービス「dhcpd」

  2. Linux OS サービス「anacron」

  3. Linux OS サービス「iptables」