Mac OS Xでネットワーク接続を受信するためにすべてのプロセスを取得しようとしています。netstat
そのオプションがない場合は、-p
lsofを使用しようとします。
lsof -i -sTCP:LISTEN
私にリスニングセッションの公正なリストを提供しましたが、すべてではありません。たとえば、接続をリッスンするプロセスがあるポート10080にTelnetを接続できますが、これは表示されませんlsof
。何を見逃していますか?
$ telnet localhost 10080
Trying ::1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> Connection closed.
しかし、
$ sudo lsof -n -i | grep 10080
$
ベストアンサー1
sudo lsof -iTCP -sTCP:LISTEN
sudo lsof -iTCP -sTCP:LISTEN -P
sudo lsof -iTCP -sTCP:LISTEN -P -n
sudo lsof -iTCP -sTCP:LISTEN -n
... | wc -l
私が定期的に使用しているLion MBPでは、すべて同じ32項目()を返します。
-P -n
名前解決が発生しないようにし、lsof
ブロックしません。これらのいずれかがないと、速度が非常に遅くなる可能性があります。
UDPの場合:sudo lsof -iUDP -P -n | egrep -v '(127|::1)'
。-n
合計がない場合は-P
時間がかかります。
注意:これにはファイアウォール設定は含まれません。