Co oznacza otwarty port?
Zanim zagłębisz się w sprawdzenie otwartych portów, najpierw dowiedz się, co oznaczają otwarte porty. Otwarty port lub port odsłuchowy to port, w którym działa jakaś aplikacja. Uruchomiona aplikacja słucha w niektórych portach i możemy komunikować się z tą aplikacją nad tym portem odsłuchowym. Jeśli aplikacja działa na porcie i staramy się uruchomić inną aplikację na tym samym porcie, jądro rzuci błąd. To jeden z wielu powodów, dla których sprawdzamy otwarte porty przed uruchomieniem aplikacji.
Wymień otwarte porty za pomocą NMAP
Network Mapper, znany jako NMAP, to narzędzie open source i bezpłatne, które służy do skanowania portów w systemie. Służy do znalezienia luk, odkrywania sieci i znajdowania otwartych portów. W tej sekcji użyjemy NMAP, aby uzyskać listę otwartych portów w systemie. Po pierwsze, zaktualizuj pamięć podręczną na Ubuntu przed zainstalowaniem NMAP:
Ubuntu@ubuntu: ~ $ sudo apt -get aktualizacja -y
NMAP można zainstalować za pomocą następującego polecenia w terminalu:
Ubuntu@ubuntu: ~ $ sudo apt -get instaluj nmap -y
Po zainstalowaniu NMAP zweryfikuj instalację, sprawdzając wersję NMAP:
Ubuntu@ubuntu: ~ $ nmap --version
Jeśli podaje wersję NMAP, jest to idealnie zainstalowane, w przeciwnym razie wypróbuj powyższe polecenia ponownie, aby poprawnie zainstalować NMAP. NMAP służy do wykonywania kilku związanych z sieciami, a skanowanie portów jest jednym z tych zadań. Narzędzie NMAP jest używane wraz z wieloma opcjami. Możemy uzyskać listę wszystkich dostępnych opcji, używając następującego polecenia:
Ubuntu@ubuntu: ~ $ man nmap
Aby skanować swój lokalny host, użyj zatrzymanego polecenia poniżej:
Ubuntu@ubuntu: ~ $ sudo nmap localhost
Wymienia wszystkie otwarte porty na LocalHost, jak wyświetli się na powyższym obrazie. Możemy również użyć NMAP do skanowania zdalnych hostów:
Ubuntu@ubuntu: ~ $ sudo nmap 93.184.216.34
Możemy również użyć nazwy hosta zdalnego serwera zamiast adresu IP:
Ubuntu@ubuntu: ~ $ sudo nmap www.przykład.com
Polecenie NMAP można również użyć do skanowania zakresu adresów IP. Określ zakres adresów IP w poleceniu, jak w poniższym poleceniu:
Ubuntu@ubuntu: ~ $ sudo nmap 192.168.1.1-10
Powyższe polecenie skanuje wszystkie adresy IP z 192.168.1.1 do 192.168.1.10 i wyświetli wynik w terminalu. Aby skanować porty na podsieci, możemy użyć NMAP w następujący sposób:
Ubuntu@ubuntu: ~ $ sudo nmap 192.168.1.1/24
Powyższe polecenie skanuje wszystkie hosty za pomocą adresów IP w podsieci zdefiniowanej w poleceniu.
Czasami musisz skanować porty na losowych hostach, które są w różnych podsieciach i nie są w sekwencji, wówczas najlepszym rozwiązaniem jest napisanie pliku hostów, w którym wszystkie nazwy hostów są zapisywane, oddzielone jedną lub więcej przestrzeni, zakładkami lub nowymi linie. Ten plik może być używany z NMAP w następujący sposób:
Ubuntu@ubuntu: ~ $ sudo nmap -il hosts.tekst
Możemy użyć NMAP do skanowania pojedynczego portu w systemie, określając port za pomocą flagi „-p” wraz z NMAP, jak w następującym poleceniu:
Ubuntu@ubuntu: ~ $ sudo nmap -p 80 localhost
Zakres portów można również skanować w systemie za pomocą NMAP w następujący sposób:
Ubuntu@ubuntu: ~ $ sudo nmap -p 80-85 LocalHost
Możemy zeskanować wszystkie porty systemu za pomocą NMAP:
Ubuntu@ubuntu: ~ $ sudo nmap -p- localhost
Aby uzyskać listę najczęściej otwartych portów w systemie, możesz użyć polecenia NMAP z flagą „-F”:
Ubuntu@ubuntu: ~ $ sudo nmap -f localhost
Porty TCP można skanować w systemie za pomocą NMAP, po prostu dodając flagę „-T” wraz z poleceniem NMAP:
Ubuntu@ubuntu: ~ $ sudo nmap -st localhost
Podobnie w przypadku portów UDP możesz użyć flagi „-u” za pomocą polecenia NMAP:
Ubuntu@ubuntu: ~ $ sudo nmap -su localhost
Wymień otwarte porty za pomocą LSOF
Polecenie LSOF, znane również jako „List Open Files”, służy do uzyskania informacji o otwartych plikach używanych przez różne procesy w systemach UNIX i Linux, podobnie jak systemy operacyjne. Dla większości dystrybucji Linux to narzędzie jest wstępnie zainstalowane. Możemy zweryfikować instalację LSOF, sprawdzając jej wersję:
Ubuntu@ubuntu: ~ $ lsof -v
Jeśli nie wyświetla wersji, LSOF nie jest domyślnie zainstalowany. Nadal możemy go zainstalować za pomocą następujących poleceń w terminalu:
Ubuntu@ubuntu: ~ $ sudo apt -get aktualizacja -y
Ubuntu@ubuntu: ~ $ sudo apt-get instaluj lsof
Możemy użyć polecenia LSOF wraz z różnymi opcjami. Lista wszystkich dostępnych opcji można wyświetlić za pomocą następującego polecenia w terminalu:
Ubuntu@ubuntu: ~ $ man lsof
Teraz w tej sekcji użyjemy LSOF do wyświetlania portów systemu na różne sposoby:
Ubuntu@ubuntu: ~ $ sudo lsof -i
Powyższe polecenie wyświetlało wszystkie otwarte porty. Możemy również użyć polecenia LSOF do wyświetlania wszystkich otwartych gniazd:
Ubuntu@ubuntu: ~ $ sudo lsof -n -p | Grep Słuchaj
Możemy wymienić filtrowane porty na podstawie protokołu za pomocą LSOF. Uruchom polecenie podane poniżej, aby wymienić wszystkie typy połączeń TCP:
Ubuntu@ubuntu: ~ $ sudo lsof -i tcp
Podobnie możemy wymienić wszystkie typy połączeń UDP za pomocą LSOF w następujący sposób:
Ubuntu@ubuntu: ~ $ sudo lsof -i udp
Wymień otwarte porty za pomocą NetStat
Netstat, znany również jako statystyki sieciowe, to program wiersza poleceń używany do wyświetlania szczegółowych informacji o sieciach. Wyświetla zarówno przychodzące, jak i wychodzące połączenia TCP, tabele routingu, interfejsy sieciowe itp. W tej sekcji użyjemy NetStat, aby wymienić otwarte porty w systemie. Narzędzie NetStat można zainstalować, uruchamiając następujące polecenia:
Ubuntu@ubuntu: ~ $ sudo apt -get aktualizacja -y
Ubuntu@ubuntu: ~ $ sudo apt-get instaluj narzędzia netto -y
Po uruchomieniu powyższych poleceń możesz zweryfikować instalację, sprawdzając wersję NetStat:
Ubuntu@ubuntu: ~ $ netstat --version
Jeśli wyświetla wersję narzędzi netto, wówczas instalacja jest w porządku, w przeciwnym razie uruchom polecenia instalacji ponownie. Aby uzyskać przegląd wszystkich dostępnych opcji, których można użyć, wraz z poleceniem NetStat, uruchom następujące polecenie:
Ubuntu@ubuntu: ~ $ man netstat
Możemy uzyskać listę wszystkich portów odsłuchowych za pomocą polecenia NetStat w Ubuntu, uruchamiając następujące polecenie:
Ubuntu@ubuntu: ~ $ sudo netstat -l
Polecenie NetStat można również użyć do filtrowania słuchania portów TCP i UDP, po prostu dodając flagę wraz z poleceniem. Do słuchania portów TCP:
Ubuntu@ubuntu: ~ $ sudo netstat -lt
Do słuchania portów UDP użyj następującego polecenia:
Ubuntu@ubuntu: ~ $ sudo netstat -lu
Aby uzyskać listę wszystkich portów słuchowych UNIX, możesz uruchomić następujące polecenie w terminalu:
Ubuntu@ubuntu: ~ $ sudo netstat -lx
Wymień otwarte porty za pomocą SS
Polecenie SS służy do wyświetlania informacji o gniazdach w systemie Linux. Wyświetla bardziej szczegółowe informacje o gniazdach niż polecenie NetStat. Polecenie SS jest wstępnie zainstalowane dla większości dystrybucji Linux, więc nie musisz go instalować przed użyciem. Możesz uzyskać listę wszystkich opcji, których można użyć wraz z poleceniem SS, uruchamiając polecenie „Man” z SS:
Ubuntu@ubuntu: ~ $ man ss
Aby uzyskać listę całego połączenia, niezależnie od ich stanu, użyj polecenia SS bez flagi:
Ubuntu@ubuntu: ~ $ sudo ss
Aby uzyskać listę wszystkich portów odsłuchowych, użyj polecenia SS z flagą „-L”. Flaga „-l” służy do wyświetlania tylko portów słuchania:
Ubuntu@ubuntu: ~ $ sudo ss -l
Aby uzyskać wszystkie porty słuchowe TCP, możemy użyć flagi „-t” i „-l” wraz z poleceniem SS:
Ubuntu@ubuntu: ~ $ sudo ss -lt
Podobnie możemy uzyskać listę wszystkich portów słuchania UDP za pomocą polecenia SS wraz z flagą „-u” i „-l”:
Ubuntu@ubuntu: ~ $ sudo ss -lu
Polecenie SS można również użyć do uzyskania listy wszystkich połączeń ze źródłem lub portem docelowym. W poniższym przykładzie otrzymamy listę wszystkich połączeń z portem docelowym lub źródłowym 22:
Ubuntu@ubuntu: ~ $ sudo ss -at '(dport =: 22 lub sport =: 22)'
Otrzymasz listę wszystkich połączeń przychodzących i wychodzących, jeśli podłączysz się do systemu zdalnego za pomocą SSH.
Wniosek
Dla administratorów systemów, specjalistów ds. Bezpieczeństwa i innych osób związanych z IT ważne jest, aby pamiętać o otwartych portach na serwerach. Linux jest bogaty w narzędzia używane do diagnozowania sieci i zapewnia wiele narzędzi, które mogą być pomocne w różnych rodzajach działań sieciowych. W tym samouczku użyliśmy niektórych narzędzi, takich jak Netstat, SS, LSOF i NMAP, aby sprawdzić otwarte porty na Ubuntu. Po przejrzeniu tego artykułu będziesz mógł łatwo wymienić wszystkie porty słuchania na swoim serwerze Linux na wiele sposobów.