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.

Leonel
źródło

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.

Kamień
źródło
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.).

Jeff Ferland
źródło
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ć.

zerodeux
źródło
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.

dmourati
źródło
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.

Karlson
źródło
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ą.

Eric
źródło
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ę.

Niklas Rosencrantz
źródło
0

Wolę używać zamiast tego:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
XsiSec
źródło