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

LinuxでNetstatを使用してリスニング/オープンポートを確認する方法

開いているポート

ポートは、httpサーバー、データベースサーバー、SMTPサーバーなどのさまざまなバックグラウンドサービスによってシステム上で開かれます。

Webサーバーを実行していて、そのようなサービスを起動すると、インターネットまたはローカルネットワーク上の他のシステムが接続できるように、ポートが開きます。

システムでサービスを開始した後、目的のポートがサービスによって開かれているかどうかを確認する必要があります。

ポートが開いていない場合は、サービスの開始に失敗したか、エラーが原因で動作を停止した可能性があります。

Netstatで開いているポートを確認する

Linuxサーバーまたはシステムで開いているポートを確認する非常に簡単な方法は、netstatコマンドを使用することです。 netstatコマンドは、システムのネットワーク接続を確認するためのものですが、開いているポートを簡単に確認して報告できます。

構文は非常に単純です。次のオプションを使用する必要があります:

"-l" (for listening connections)
"-t" (for tcp connections)
"-p" (process name and id that opened the port)
"-n" (show port numbers instead of names)
>

簡単な例を次に示します。

$ sudo netstat -ltpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:33060           0.0.0.0:*               LISTEN      1294/mysqld
tcp        0      0 0.0.0.0:6600            0.0.0.0:*               LISTEN      1/init
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1294/mysqld
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1283/apache2
tcp        0      0 0.0.0.0:1716            0.0.0.0:*               LISTEN      1748/kdeconnectd
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      735/systemd-resolve
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1471/cupsd

上記の例は、apacheがhttp(80)ポートを開き、mysqlが3306ポートを開いたことを明確に示しています。

「-n」オプションを省略すると、代わりにポート名が表示されます。

$ sudo netstat -ltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:33060           0.0.0.0:*               LISTEN      1294/mysqld
tcp        0      0 0.0.0.0:6600            0.0.0.0:*               LISTEN      1/init
tcp        0      0 localhost:mysql         0.0.0.0:*               LISTEN      1294/mysqld
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN      1283/apache2
tcp        0      0 0.0.0.0:1716            0.0.0.0:*               LISTEN      1748/kdeconnectd
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN      735/systemd-resolve
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN      1471/cupsd

特定の開いているポートを確認する

特定の開いているポートを一覧表示する場合は、grepで出力をフィルタリングします。次のコマンドは、3306を含むポート番号を除外します

$ sudo netstat -ltpn | grep "3306"
tcp        0      0 0.0.0.0:33060           0.0.0.0:*               LISTEN      1294/mysqld
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1294/mysqld

結論

netstatコマンドの詳細については、こちらのチュートリアルをご覧ください:

LinuxNetstatコマンドの10の基本的な例

お役に立てば幸いです。ご質問やご意見がございましたら、下のコメント欄でお知らせください。


Linux
  1. Linuxで開いているすべてのポートのリストを見つける方法

  2. netstat、lsof、およびnmapを使用してLinuxで開いているポートを確認する方法

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

  1. RHEL 8 / CentOS8Linuxで開いているポートを確認する方法

  2. Linux/Unix サーバーで開いているポートを一覧表示する方法

  3. Linuxでパスワードを確認するには?

  1. UbuntuLinuxで開いているポートを表示/確認する方法

  2. TCPおよびUDPポートをリアルタイムで監視する方法

  3. Linuxで開いているポートを確認(スキャン)する方法