Mac OS XでTCP / IPポートが開いているプロセスを確認するにはどうすればよいですか?


回答:


22

1つの選択肢は、lsofユーティリティの使用です。具体的にlsof -i 4tcpは、何らかの種類のTCP IPv4ネットワークソケットが開いているすべてのプロセスを一覧表示します。のマンページにlsofは、ユーティリティの使用方法と出力の解釈方法に関する詳細情報が記載されています。


9

特定のポートに関心がある場合は、次の例を使用できます。

lsof -i 4tcp:8080 -sTCP:LISTEN

プロセスIDのみを取得する場合は、次を実行できます。

lsof -i 4tcp:8080 -sTCP:LISTEN -Fp

1

TCPまたはUDPの特定のポートにあるすべてのものを表示する場合は、以下のコマンドを使用します。この-nオプションは、IPアドレスをドメイン名に解決しようとすることを-P無効にし、特定のポートの名前を把握しようとすることを無効にします。また、root通常のユーザーとして実行するよりも多くのプロセスが表示されます。

sudo lsof -iTCP:53 -iUDP:53 -n -P


0

次のコード例は、ローカルOSXマシンで実行中のすべてのTCPサーバーをリストします。

netstat -a -Ptcp | egrep 'tcp4.*LISTEN'

tcp4       0      0  127.0.0.1.2022         *.*                    LISTEN               0          0
tcp4       0      0  *.3141                 *.*                    LISTEN               0          0

LISTEN接続を待機しているソケットのみを表示します。つまり、サーバー。

最初の行はlocalhost、別名127.0.0.1ポートにバインドされたサーバーを示しています2022。ローカル要求には応答しますが、インターネットベースの要求には応答しません。

2行目は、すべてのアドレスにバインドされたサーバー、つまり*port 3141です。それはされます、インターネットの問い合わせに答えます。

クライアントサーバーが使用するポートをリストするには、次を使用します。

netstat -an -Ptcp | grep tcp4

3
しかしnetstat、BSDベースのホストでは、プロセス情報がリストされていません...これが問題でした。
トニン

-1

これは、Netstatコマンドを使用してターミナルウィンドウで可能になるはずです。

そして、GUIの方法がもっと好きなら:

Mac OS X 10.5では、/ Applications / Utilitiesフォルダーには次のネットワークユーティリティが含まれます。NetworkUtility。Ping、Lookup、Traceroute、Whois、Finger、Port Scanとともに、guiアプリケーションに表示されるこれらの統計のNetstatタブを参照してください。


2
OS Xのnetstatには、ソケットが接続されているプロセスをリストするオプションがありません。
スティーブフォリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.