Lsof i porty nasłuchujące


50

Próbuję uzyskać wszystkie procesy nasłuchujące na połączenie sieciowe w systemie Mac OS X. netstatnie ma takiej -popcji i próbuję z lsof

lsof -i -sTCP:LISTEN

daje mi uczciwą listę procesów odsłuchowych, ale nie wszystkie. Mogę na przykład telnet do portu 10080, gdzie mam proces nasłuchujący połączenia, ale nie jest to pokazane na wyjściu lsof. czego mi brakuje?

$ telnet localhost 10080
Trying ::1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> Connection closed.

ale

$ sudo lsof -n -i | grep 10080
$

3
Czy wyjście lsof mówi amandazamiast 10080?
Jon Lin

3
@JonLin Nie zauważyłem, że -nwpływa to tylko na adresy, a nie na porty. Aby uzyskać numery portów, muszę również użyć -P. Dzięki
Matteo,

3
@JonLin: ale masz post lsof -i -sTCP:LISTEN, bez niego -ni nie ujawnił też 10080. Więc musisz użyć -P.
Hanan N.,

Odpowiedzi:


75
sudo lsof -iTCP -sTCP:LISTEN
sudo lsof -iTCP -sTCP:LISTEN -P
sudo lsof -iTCP -sTCP:LISTEN -P -n
sudo lsof -iTCP -sTCP:LISTEN -n

Wszystkie zwracają te same 32 wpisy ( ... | wc -l) na moim mocno używanym Lion MBP.

-P -nuniemożliwia lsofrozpoznawanie nazw i nie blokuje. Brak jednego z nich może być bardzo wolny.

Dla UDP: sudo lsof -iUDP -P -n | egrep -v '(127|::1)'. Bez -ni -Pzajmuje to dużo czasu.

Przypomnienie: nie obejmuje ustawień zapory.


3
Tak, brakowało problemu -P. Błędnie założyłem, że -ndotyczy to nie tylko adresów IP, ale także numerów portów.
Matteo,

-1
  1. Najpierw sprawdź identyfikator procesu (pid), który zajął wymagany port (np. 5434):

    ps aux | grep 5434
    
  2. Zabij ten proces:

    kill -9 <pid>
    

5
ps auxnie wymienia portów używanych przez proces
Matteo

Zgadzam się z Matteo; czy jesteś pewien, że nie zrobiłeś czegoś takiego jak netstat -anp | grep 5434 (który zwróci listę rzeczy, które nasłuchują w 5434, a pierwsza lub druga kolumna to pid?)
Foon

6
W ten sposób mógł działać tylko w sytuacji, gdy wywołano proces z numerem portu podanym jawnie w łańcuchu wykonania, a ta część łańcucha byłaby dopasowana przez grep.
techraf

1
Zastosowanie kill -9jako pierwszej opcji pozbycia się procesu jest skrajnym wyborem. Poza tym tak naprawdę nie odpowiada na pytanie, które nie polega na zabijaniu rzeczy, ale na sprawdzeniu, co się dzieje.
Lindes
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.