4 sposoby sprawdzenia, które porty nasłuchują w systemie Linux
Stan portu jest otwarty, filtrowany, zamknięty lub niefiltrowany. Mówi się, że port jest otwarty, jeśli aplikacja na komputerze docelowym nasłuchuje połączeń/pakietów na tym porcie.
W tym artykule wyjaśnimy cztery sposoby sprawdzania otwartych portów, a także pokażemy, jak sprawdzić, która aplikacja nasłuchuje na jakim porcie w systemie Linux.
1. Korzystanie z polecenia Netstat
Netstat jest szeroko stosowanym narzędziem do sprawdzania informacji o podsystemie sieciowym Linuksa. Możesz go użyć do wydrukowania wszystkich otwartych portów w następujący sposób:
sudo netstat -ltup
Flaga -l
mówi netstatowi, aby wypisał wszystkie gniazda nasłuchujące, -t
pokazuje wszystkie połączenia TCP, -u
wyświetla wszystkie połączenia UDP, a -p
umożliwia wydrukowanie nasłuchiwanej nazwy aplikacji/programu na porcie.
Aby wydrukować wartości numeryczne zamiast nazw usług, dodaj flagę -n
.
sudo netstat -lntup
Możesz także użyć polecenia grep, aby na przykład dowiedzieć się, która aplikacja nasłuchuje na określonym porcie.
sudo netstat -lntup | grep "nginx"
Alternatywnie możesz określić port i znaleźć powiązaną aplikację, jak pokazano.
sudo netstat -lntup | grep ":80"
2. Korzystanie z polecenia ss
Komenda ss to kolejne przydatne narzędzie do wyświetlania informacji o gniazdach. Wyniki wyglądają podobnie do wyników netstat. Poniższe polecenie wyświetli wszystkie porty nasłuchiwania dla połączeń TCP i UDP w wartościach liczbowych.
sudo ss -lntu
3. Korzystanie z polecenia Nmap
Nmap to potężne i popularne narzędzie do eksploracji sieci i skanera portów. Aby zainstalować nmap w swoim systemie, użyj domyślnego menedżera pakietów, jak pokazano.
sudo apt install nmap [On Debian/Ubuntu]
sudo yum install nmap [On CentOS/RHEL]
sudo dnf install nmap [On Fedora 22+]
Aby przeskanować wszystkie otwarte/nasłuchujące porty w systemie Linux, uruchom następujące polecenie (co powinno zająć dużo czasu).
sudo nmap -n -PN -sT -sU -p- localhost
4. Korzystanie z polecenia lsof
Ostatnim narzędziem, które omówimy do sprawdzania otwartych portów, jest polecenie lsof, które służy do wyświetlania listy otwartych plików w systemie Linux. Ponieważ w systemie Unix/Linux wszystko jest plikiem, otwarty plik może być strumieniem lub plikiem sieciowym.
Aby wyświetlić listę wszystkich plików internetowych i sieciowych, użyj opcji -i
. Należy pamiętać, że to polecenie pokazuje kombinację nazw usług i portów numerycznych.
sudo lsof -i
Aby sprawdzić, która aplikacja nasłuchuje na konkretnym porcie, w tym formularzu uruchom lsof.
sudo lsof -i :80
To wszystko! W tym artykule wyjaśniliśmy cztery sposoby sprawdzania otwartych portów w systemie Linux. Pokazaliśmy także, jak sprawdzić, które procesy są powiązane z konkretnymi portami. Możesz podzielić się swoimi przemyśleniami lub zadać pytania, korzystając z poniższego formularza opinii.