Jak mogę wyświetlić listę moich otwartych portów w Debianie?


58

Jakie polecenie wyświetla listę otwartych portów na serwerze Debian?

Próbowałem, netstat -a | egrep 'Proto|LISTEN'ale chciałbym coś bardziej szczegółowego, który faktycznie wyświetla numer portu.

Odpowiedzi:


86
 netstat -pln

-lwyświetli listę nasłuchujących portów, -pwyświetli również proces, -npokaże numery portów zamiast nazw. Dodaj, -taby pokazać tylko porty TCP.


12
Aby -pdziałało poprawnie, musisz uruchomić to jako root, w sudo netstat -tplnprzeciwnym razie kolumna procesu nie będzie szczególnie przydatna, chyba że jesteś użytkownikiem, którego proces nasłuchuje na danym porcie.
cjc

21

lsof -i -P

Sprawdź na stronie podręcznika, lsofczy nie brakuje opcji. -Pwyświetla numer portu, a nie nazwę wziętą z /etc/servicesUruchom jako root, jednak dostarczy Ci listę wszystkich aktywnych połączeń sieciowych i ich status (nasłuchiwanie, nawiązanie połączenia itp.).


To powinna być poprawna odpowiedź. Netstat nie jest instalowany domyślnie
José

10

To, czego prawie wszyscy chcą (TCP i UDP) netstat -tunlp.

Używam go codziennie, może co godzinę. Hack „lsof” jest bardziej przenośny (działa również w systemie Solaris), ale w Debianie nie jest to niezbędny pakiet, musisz go zainstalować.


Tak i uruchom go sudo.
Martijn Heemels,

1
Mój przyjaciel nauczył mnie pamiętać to polecenie z nazwą kwiatu netstat -tulpenFlaga edaje dodatkowe informacje.
Deele,

1
A teraz, w 2018 roku, moje świeże pudełko Debiana nie ma, netstatale ma lsof. :)
Jason

10

Jestem wielkim fanem netstat -ntlpi lsof -ioba już wspomniane.

Nowe (er) polecenie dla mnie to ss .

Wywołanie jest jak:

ss -l

Dobrze jest mieć opcje pod względem poleceń i flag.


1
opcje są szczególnie dobre, ponieważ kontener dokujący mongo (i prawdopodobnie wiele innych) miał ss, ale nie netstat lub lsof
Foon

Zacząłem używać tego jako pytania do wywiadu. Prawdopodobnie zapytało 40 różnych osób. Jak dotąd nikt nie wspomniał o ss. Pytam to jak OP, a jeśli odpowiedzą, mówię: „Ok, zabieram X, a teraz jak możesz to zrobić”. Aż do wyczerpania pomysłów.
dmourati

6

Możesz to zrobić:

netstat -an | egrep 'Proto|LISTEN'

lub po prostu:

netstat -anl

który da ci wszystkie gniazda odsłuchowe w systemie.


2
To byłoby najlepsze rozwiązanie (gdzie „najlepsze” jest zdefiniowane jako „działa na najszerszym zakresie systemów” (BSD, Linux, AIX, Solaris, wierzę HP-UX))
voretaq7

0

TechRepulic ma przyzwoity artykuł, który można znaleźć tutaj . Ma kilka podobnych poleceń, jak wymienione powyżej, ale także kilka odmian. Zdecydowanie poleciłbym również użycie nmap do wykonania skanowania portu danego komputera, abyś mógł zobaczyć z perspektywy zewnętrznej, które porty są otwarte i nasłuchują.


Czy możesz mi powiedzieć, dlaczego zostało to przegłosowane? Po prostu podałem link z wieloma powyższymi rozwiązaniami, które zostały zatwierdzone wraz z inną perspektywą wykonania zewnętrznego skanowania. Dzięki.
Eric,

8
Nie przegłosowałem, ale w przypadku błędu serwera, takiego jak większość wymiany stosów, zwykle oczekujemy, że umieścisz tutaj odpowiedź, a nie tylko link do innego miejsca. Linki z czasem znikają, ale chcemy, aby zawartość SF nadal była cenna, gdy linki umrą.
Zoredache

Jedyny wiersz kodu, który zawiera powyższy link do artykułu, to sudo nmap -T4 -A -v 192.168.1.1/24wszystko inne: idź zrób to - idź zrób to bez żadnych szczegółów ... To jak czytanie tylnej okładki książki - dużo słów bez mięsa.
KingsInnerSoul,

0

Porty nasłuchu to nie to samo, co porty otwarte z zewnątrz. Musisz wziąć pod uwagę zaporę ogniową. Jeśli spróbujesz programu takiego jak nmapz innego komputera, zobaczysz, że otwarte porty nie są blokowane przez zaporę.


0

Wolę używać zamiast tego:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
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.