Кто слушает данный порт TCP в Mac OS X? - PullRequest
1169 голосов
/ 12 декабря 2010

В Linux я могу использовать netstat -pntl | grep $PORT или fuser -n tcp $PORT, чтобы узнать, какой процесс (PID) прослушивает указанный порт TCP.Как получить ту же информацию в Mac OS X?

Ответы [ 17 ]

11 голосов
/ 17 августа 2016

Я парень из Linux. В Linux это очень просто с netstat -ltpn или любой комбинацией этих букв. Но в Mac OS X netstat -an | grep LISTEN самый гуманный. Другие очень уродливы и их трудно запомнить при поиске неисправностей.

7 голосов
/ 03 мая 2014
lsof -n -i | awk '{ print $1,$9; }' | sort -u

Это показывает, кто что делает. Удалите -n, ​​чтобы увидеть имена хостов (немного медленнее).

3 голосов
/ 10 мая 2017

Это сделал то, что мне нужно.

ps -eaf | grep `lsof -t -i:$PORT`
1 голос
/ 03 июля 2017

Я сделал небольшой скрипт, чтобы видеть не только, кто где слушает, но и отображать установленные связи и с какими странами. Работает на OSX Siera

#!/bin/bash
printf "\nchecking established connections\n\n"
for i in $(sudo lsof -i -n -P | grep TCP | grep ESTABLISHED | grep -v IPv6 | 
grep -v 127.0.0.1 | cut -d ">" -f2 | cut -d " " -f1 | cut -d ":" -f1); do
    printf "$i : " & curl freegeoip.net/xml/$i -s -S | grep CountryName | 
cut -d ">" -f2 | cut -d"<" -f1
done

printf "\ndisplaying listening ports\n\n"

sudo lsof -i -n -P | grep TCP | grep LISTEN | cut -d " " -f 1,32-35

#EOF

Sample output
checking established connections

107.178.244.155 : United States
17.188.136.186 : United States
17.252.76.19 : United States
17.252.76.19 : United States
17.188.136.186 : United States
5.45.62.118 : Netherlands
40.101.42.66 : Ireland
151.101.1.69 : United States
173.194.69.188 : United States
104.25.170.11 : United States
5.45.62.49 : Netherlands
198.252.206.25 : United States
151.101.1.69 : United States
34.198.53.220 : United States
198.252.206.25 : United States
151.101.129.69 : United States
91.225.248.133 : Ireland
216.58.212.234 : United States

displaying listening ports

mysqld TCP *:3306 (LISTEN)
com.avast TCP 127.0.0.1:12080 (LISTEN)
com.avast TCP [::1]:12080 (LISTEN)
com.avast TCP 127.0.0.1:12110 (LISTEN)
com.avast TCP [::1]:12110 (LISTEN)
com.avast TCP 127.0.0.1:12143 (LISTEN)
com.avast TCP [::1]:12143 (LISTEN)
com.avast TCP 127.0.0.1:12995 (LISTEN)
com.avast [::1]:12995 (LISTEN)
com.avast 127.0.0.1:12993 (LISTEN)
com.avast [::1]:12993 (LISTEN)
Google TCP 127.0.0.1:34013 (LISTEN)

Это может быть полезно, чтобы проверить, если вы подключены к Северной Корее! ; -)

0 голосов
/ 13 января 2019

Для macOS я использую две команды вместе, чтобы показать информацию о процессах, слушающих на машине, и процессах, подключающихся к удаленным серверам. Другими словами, чтобы проверить порты прослушивания и текущие (TCP) соединения на хосте, вы можете использовать две следующие команды вместе

1. netstat -p tcp -p udp 

2. lsof -n -i4TCP -i4UDP 

Думаю, я добавлю свой вклад, надеюсь, он может кому-то помочь.

0 голосов
/ 01 января 2019

Вдохновленный пользователем Brent Self:

lsof -i 4 -a | grep LISTEN

0 голосов
/ 15 августа 2018

Это хороший способ для MacOS High Sierra:

netstat -an |grep -i listen
...