HTTPまたはHTTPSポートに接続されているすべてのクライアントを検索する方法


この短いクイック記事では、LinuxサーバーのHTTPまたはHTTPSポートでApacheまたはNginx Webサーバーに接続されているすべてのクライアント(IPアドレスを使用)を見つける方法を学習します。

Linuxでは、サーバー上で実行されているすべてのサービスが、クライアントが接続要求を行うためのソケットをリッスンしています。クライアントからの接続が成功すると、ソケット(IPアドレスとポート(クライアントが接続されているアプリケーション/サービスを識別する番号)の組み合わせ)が作成されます。

推奨読書:TCPおよびUDPポートをリアルタイムで監視する方法

これらのソケットの詳細情報を取得するには、Linuxマシンでネットワークソケット関連の情報を表示するために使用されるssコマンドラインツールを使用します。アクティブなソケット接続を表示する古いnetstatコマンドを使用することもできます。

たとえば、これらのツールを使用して、特定のポートまたはサービスに接続されているすべてのクライアントのソケット統計情報を取得できます。

# ss
OR
# netstat

HTTP(ポート80)またはHTTPS(ポート443)に接続されているすべてのクライアントのリストを取得するには、ssコマンドまたはnetstatコマンドを使用して、UNIXソケット統計を含むすべての接続(状態に関係なく)を一覧表示します。 。

# ss -o state established '( sport = :http or sport = :https )'
OR
# netstat -o state established '( sport = :http or sport = :https )'

または、次のコマンドを実行して、数値のポート番号を一覧表示することもできます。

# ss -tn src :80 or src :443
OR
# netstat -tn src :80 or src :443

また、次の記事が役立つ場合があります。

  1. 4 Ways to Find Out What Ports Are Listening in Linux
  2. How to Check Remote Ports are Reachable Using ‘nc’ Command

この短い記事にあるのはこれだけです。 ssユーティリティの詳細については、そのマニュアルページ(man ss)を参照してください。以下のコメントフォームから、ご不明な点がございましたらお問い合わせください。