W sieci, port jest interesującą cechą. To sposób na zidentyfikowanie ruchu sieciowego lub usługi docelowej. Każdy proces/usługa otrzymuje unikalny port. Port będzie zawsze powiązany z adresem IP hosta wraz z protokołem.
To moja ulubiona metafora, aby opisać, czym jest port. Wyobraź sobie statek załadowany ładunkiem, który będzie podróżował do odległej ziemi. Jakie informacje są potrzebne, aby właściwe dotarcie do miejsca docelowego? Ze względu na prostotę powiedzmy, że potrzebuje kraju (adres IP) i Port statek dokuje.
W tym przewodniku sprawdź, jak wymienić otwarte porty w Linux.
Porty w Linux
Porty działają jako punkt końcowy komunikacji. To liczba 16-bitowa (od 0 do 65535 w dziesięciu). Chociaż zakres jest duży, dla łatwości użytkowania, porty są podzielone na trzy kategorie. Każda kategoria jest oznaczona jako zakres wartości portu:
W Linux istnieje wiele sposobów sprawdzania otwartych portów. Domyślnie każdy port pozostanie zamknięty, chyba że aplikacja go używa. Jeśli port jest otwarty, należy go przypisać do usługi/procesu.
Wypisz otwarte porty
Łatwiej jest określić, które porty są używane, niż które porty są otwarte. Dlatego następna sekcja będzie zawierać metody wymieniania wszystkich obecnie używanych portów. W Linux dostępnych jest wiele narzędzi do tego zadania. Większość z nich jest wbudowana w dowolnej dystrybucji Linux.
Uczenie się, które porty są obecnie otwarte, może być przydatne w różnych scenariuszach. Możliwe jest skonfigurowanie dedykowanego portu dla określonej aplikacji. Otwarty port może być również silnym wskazaniem wtargnięcia w sieci.
Na Ubuntu 20 pokazano następujące metody.04.1 lts.
Protokoły na liście i otwarte porty z /etc /usługi
Plik /etc /usługi zawiera informacje o aktualnie uruchomionych usługach. To duży plik, więc gotowy na przytłoczenie.
$ cat /etc /usługi | mniej
Wymień otwarte porty za pomocą NetStat
Narzędzie NetStat to narzędzie do wyświetlania połączeń sieciowych dla TCP, tabel routingu i różnych interfejsów sieciowych. Oferuje również statystyki protokołu sieciowego. Korzystając z NetStat, możemy wymienić wszystkie otwarte porty systemu.
Uruchom następujące polecenie NetStat:
$ netstat -atu
Miejmy szybki podział wszystkich flag, których użyliśmy w tym poleceniu.
Oto kolejna odmiana polecenia NetStat:
$ netstat -lntu
W poleceniu używane są dwie nowe flagi. Co mieli na myśli?
Aby wyświetlić PID procesu, który korzysta z portu, użyj flagi „-p”:
$ netstat -lntup
Wymień otwarte porty za pomocą SS
Narzędzie SS jest narzędziem do badania gniazda. Jego użycie jest podobne do Netstat.
Aby wymienić otwarte porty, uruchom następujące polecenie SS:
$ ss -lntu
Flagi są podobne do Netstat. Funkcje, które opisują, są również dość podobne.
Wymień otwarte porty za pomocą LSOF
Poleceniem LSOF jest wymienienie otwartych plików. Można go jednak również używać do wyświetlania otwartych portów.
Uruchom następujące polecenie LSOF:
$ lsof -i
Aby uzyskać otwarte porty określonego protokołu (TCP, UDP itp.) Następnie zdefiniuj go po flagie „-i”, użyj:
$ lsof -i
Wymień otwarte porty za pomocą NMAP
Narzędzie NMAP jest potężne do eksploracji sieci i skanowania bezpieczeństwa/portów. Może zgłaszać wszystkie otwarte porty w systemie.
Aby wymienić otwarte porty TCP, uruchom następujące polecenie NMAP. Tutaj adres IP jest komputera hosta:
$ sudo nmap -st -p- localhost
Tutaj istnieją dwie części argumentu poleceń.
Jeśli musisz wymienić otwarte porty UDP, uruchom następujące polecenie NMAP:
$ sudo nmap -su -p- localhost
Aby uzyskać zarówno otwarte porty TCP, jak i UDP, użyj następującego polecenia:
$ sudo nmap -n -pn -st -su -p- localhost
Wymień otwarte porty za pomocą Netcat
Narzędzie NETCAT to narzędzie wiersza poleceń do odczytu i zapisywania danych w połączeniach sieciowych przez protokoły TCP i UDP. To narzędzie można również użyć do wyświetlania otwartych portów. Może wykonywać testy na określonym porcie lub zakresie portów.
Następujące polecenie NetCat skanuje port od 1 do 1000. Polecenie NETCAT domyślnie przeprowadzi skanowanie protokołu TCP:
$ nc -z -v localhost 1-1000
Można go również rozszerzyć na całą listę możliwych portów:
$ nc -z -v localhost 1-65535
Zróbmy szybki podział flag.
Aby uzyskać tylko otwarte porty z tej listy, filtruj dane wyjściowe z GREP dla terminu „sukces”.
$ nc -z -v localhost 0-65535 2> i 1 | Grep się udało
Jeśli chcesz wykonać skanowanie protokołu UDP, dodaj flagę „-u”.
$ nc -z -v -u localhost 0-65535 2> i 1 | Grep się udało
Końcowe przemyślenia
Jak pokazano, istnieje mnóstwo sposobów skanowania w poszukiwaniu otwartych portów w Linux. Sugeruję wypróbowanie wszystkich metod, zanim zdecydujesz, który opanować. Jeśli używasz określonego narzędzia, takiego jak NETCAT lub NMAP regularnie, opanowanie powiązanych metod będzie najbardziej korzystne.
Szczęśliwy komputer!