Odpowiedzi:
Jeśli jesteś zainteresowany konkretnym portem, możesz skorzystać z tego przykładu:
lsof -i 4tcp:8080 -sTCP:LISTEN
Jeśli chcesz tylko uzyskać identyfikator procesu, możesz uruchomić to:
lsof -i 4tcp:8080 -sTCP:LISTEN -Fp
Korzystam z poniższego polecenia, gdy chcę zobaczyć wszystko, co jest na określonym porcie dla TCP lub UDP. Ta -nopcja wyłącza próbę przekształcenia adresów IP na nazwy domen i -Puniemożliwia określenie nazwy konkretnego portu. Również uruchomienie jako rootpokaże więcej procesów niż uruchomienie zwykłego użytkownika.
sudo lsof -iTCP:53 -iUDP:53 -n -P
Poniższy przykład kodu zawiera listę wszystkich działających serwerów TCP na lokalnym komputerze z systemem OSX:
netstat -a -Ptcp | egrep 'tcp4.*LISTEN'
tcp4 0 0 127.0.0.1.2022 *.* LISTEN 0 0
tcp4 0 0 *.3141 *.* LISTEN 0 0
LISTENpokazuje tylko gniazda nasłuchujące połączeń. To znaczy serwery.
Pierwsza linia pokazuje serwer zobowiązane do localhost, aka 127.0.0.1, port 2022. Będzie odpowiadać na żądania lokalne, ale nie na żądania internetowe.
Druga linia to serwer powiązany ze wszystkimi adresami, tj . *Portem 3141. To będzie odpowiedzieć na zapytania internetowe.
Aby wyświetlić listę portów używanych przez klientów i serwery, użyj następujących poleceń:
netstat -an -Ptcp | grep tcp4
Powinno to być możliwe w oknie terminala za pomocą polecenia Netstat .
A jeśli podoba ci się GUI, to bardziej:
W systemie Mac OS X 10.5 folder / Aplikacje / Narzędzia zawiera narzędzie sieciowe o nazwie: Narzędzie sieciowe, patrz zakładka Netstat, aby zobaczyć statystyki prezentowane w aplikacji GUI, wraz z Ping, Lookup, Traceroute, Whois, Finger i Port Scan.
netstatna hostach opartych na BSD nie ma żadnych informacji o procesie ... co było pytaniem.