Mac 上でどのようなオープンな TCP 接続がリッスン状態にあるのかを見つけたいという状況に遭遇することがあります。これは、特定のネットワーク問題のトラブルシューティングを行う場合でも、単に Mac 上の特定のポートでリッスンしているプロセスを特定したい場合でも役立ちます。
コマンド ライン lsof ツールを使用して、内容を確認します。/who は Mac 上のオープン TCP 接続をリッスンしているため、ターミナルと sudo に慣れている上級 Mac ユーザーに最適です。
MacOS の TCP ポートでリッスンしているものを見つける方法
ここで使用するコマンドは MacOS Ventura と MacOS Monterey を対象としていますが、古い MacOS バージョンでも同様に動作するはずです。
/Applications/Utilities/から、またはコマンドを使用して Spotlight から「ターミナル」アプリケーションを開きます。 +スペースバー 次のコマンドを入力します:
sudo lsof-iTCP-sTCP:LISTEN-P-n
Enter キーを押し、コマンドの実行を要求されたら管理者パスワードを使用します。アクティブにリッスンしているもののリストが表示されます。 Mac 上の TCP ポート
コマンド/プロセス、プロセス ID (PID)、タイプ (IPv6 と IPv4)、デバイス、ノード (この場合は TCP)、およびポートのリストが表示されます。
この情報を使用して、目的に応じて次のステップを決定できます。
興味がある方のために、ここで使用されているコマンドとさまざまなフラグを詳しく見てみましょう。:
sudo: スーパーユーザー権限でコマンドを実行し、root を含むすべてのユーザーが開いたネットワーク接続を表示できるようにします。 lsof: オープンなネットワーク接続を含む、システム上で開いているすべてのファイルをリストします。-iTCP: TCP 接続のみを表示するように結果をフィルターします。-sTCP:LISTEN: 結果をフィルターして、リッスンしている TCP 接続のみを表示します。-P: ポート名解決を無効にし、ポート番号のみを表示します。-n: ホスト名解決を無効にし、IP アドレスのみを表示します。
lsof コマンドは非常に強力で、どのアプリまたはプロセスが特定のファイルと対話しているかを判断し、どのプロセスがインターネット接続を使用しているかを検出し、オープン ネットワーク接続を表示し、すべてのオープン インターネット接続をリッスンするなど、その使用方法を以前に説明しました。もっと。
ところで、GUI が好みの場合は、Sloth アプリを試すことができます。これは基本的に lsof の GUI フロントエンドであり、無料でダウンロードできます。また、アクティビティ モニターでは、以下と同様の機能のサポートが制限されています。
Mac 上の特定の TCP ポートをリッスンしているもの、または誰を見つけるために使用する同様のトリック、コマンド、またはツールはありますか?以下のコメント欄でお知らせください。