LSOF コマンド ライン ツールは、システム管理者と開発者にとって次のことを可能にするため非常に有益です。
- 特定のファイルまたはポートを現在使用しているプロセスを特定します。ポートの競合が発生した場合に特に重要です。
- 削除されたものの、不必要なスペースの消費につながる可能性のあるプロセスによってまだ開かれているファイルを検出します。 LSOF コマンドは、そのようなインスタンスを識別して対処するために機能します。
- 「ポートはすでに使用されています」などのエラーのトラブルシューティングを効果的に支援します。
- ネットワークアクティビティを追跡し、監視目的でネットワーク接続を開きます
- ファイル アクセス パターンを調査し、潜在的なセキュリティ侵害の特定に貢献します
このチュートリアルでは、LSOF コマンドを使用してリアルタイム ポートを監視する方法を学習します。
LSOFコマンドの基本構文
LSOF コマンドの構文は次のとおりです。
$ lsof [ オプション 】 [ 名前 】
オプションは、LSOF コマンドで使用されるフラグです。名前は、ファイル名、PID (プロセス ID)、ユーザー名、またはネットワーク ファイル (IPv4、IPv6) を表します。指定されたオプションに応じて、LSOF コマンドは、これらの名前に対応する開いているファイルのリストを表示します。
LSOF コマンドを使用してポートをリアルタイムで監視する
LSOF は、多くの Linux システムにデフォルトで含まれています。利用可能なパッケージのいずれかがインストールされていない場合は、手動でダウンロードしてインストールする必要があります。システム上の LSOF のインストールを確認するには、次のコマンドを使用して、インストールされているバージョンを表示します。
$ lsof -で
適切な権限で LSOF コマンドを使用するには、プロセスおよびネットワーク接続に関する一部の情報には昇格されたスーパーユーザー権限が必要な場合があり、管理者権限でコマンドを実行するには「sudo」を使用する必要がある場合があることに注意することが重要です。
ネットワークファイルのリストを表示する
「-i」オプションを指定して LSOF コマンドを実行すると、リッスンしているソケットや確立された接続などのネットワーク接続を持つプロセスに関する情報が表示されます。
$ lsof –i前のコマンドは、プロセス名 (COMMAND)、プロセス ID (PID)、ユーザー (USER)、ファイル記述子 (FD)、接続の種類 (TYPE)、ローカル アドレスとリモート アドレス、および接続状態に関する情報を表示します。次の出力が表示されるはずです。
TCP接続をリストする
特定の種類の接続やポートなどの特定の基準に基づいて出力をフィルタリングできます。たとえば、「lsof -i tcp」を使用すると、TCP 接続に関連付けられたプロセスのみを一覧表示できます。
$ lsof -私 TCP: 1 - 1024前のコマンドは、1 ~ 1024 の指定されたポート範囲内で開いている TCP 接続を持つプロセスに関する情報をフィルター処理します。これは、どのプロセスが共通サービスに関連付けられた既知のポートを使用しているかを識別するのに役立ちます。
特定のポートをリアルタイムで監視する
LSOF を使用すると、特定のポートをリアルタイムで監視できます。たとえば、3 秒ごとに更新されるポート 80 上の「HTTP」に関連するプロセスを監視するとします。これを行うには、次のコマンドを使用してポート 80 をリアルタイムで監視します。
$ lsof -私 : 80 -r3
SSHD ポート 22 をリアルタイムで監視する
ポート 22 で実行されるすべての SSHD 接続を監視するには、次のコマンドを実行します。
$ 須藤 lsof -私 : 22 -r3このコマンドは、ポート 22 上のネットワーク接続に関するリアルタイム情報を 3 秒ごとに継続的に監視し、表示します。これは、新しい SSH 接続や切断などの変更がリアルタイムで発生するため、その変更を追跡する場合に特に役立ちます。
ポート範囲をリアルタイムで監視する
1 ~ 1024 の指定されたポート範囲内で開いている TCP 接続を持つプロセスに関する情報をリアルタイムで監視するには、次のコマンドを使用できます。
$ lsof -私 TCP: 1 - 1024 -r3
すべてのポートをリアルタイムで監視
LSOF コマンドを使用すると、すべてのネットワーク接続をリアルタイムで監視できます。たとえば、継続的に監視を実行し、ネットワーク接続に関するリアルタイム情報を 5 秒ごとに表示したいとします。
$ lsof -私 -r5次の出力には、プロセスとそれに関連するネットワーク ソケットに関する詳細が 5 秒ごとにリアルタイムで含まれます。
同様に、LSOF コマンドを使用して、「確立された」接続のみを監視することもできます。
$ lsof -私 -そして -r10
結論
このチュートリアルでは、LSOF コマンドを使用してポートをリアルタイムで監視する方法を学習しました。このコマンドは、システム管理者や他の Linux ユーザーが、すべてのアクティブなポートまたは開いているポートを含むネットワーク接続を監視するのにも役立ちます。このガイドが、さまざまなオプションを指定して LSOF コマンドを使用し、さまざまなポートとプロセスをリアルタイムで監視する方法を理解するのに役立つことを願っています。