Skip to content
Natuurondernemer
    23 marca, 2021 by admin

    Jak wyświetlić listę otwartych portów w Linuksie?

    Jak wyświetlić listę otwartych portów w Linuksie?
    23 marca, 2021 by admin

    W sieci, port jest interesującą cechą. Jest to sposób na identyfikację docelowej aplikacji lub usługi przez ruch sieciowy. Każdy proces/usługa otrzymuje swój unikalny port. Port zawsze będzie powiązany z adresem IP hosta wraz z protokołem.

    Jest to moja ulubiona metafora opisująca czym jest port. Wyobraźmy sobie statek załadowany ładunkiem, który będzie podróżował do odległego lądu. Jakie informacje są potrzebne, aby prawidłowo dotrzeć do celu? Dla uproszczenia, powiedzmy że potrzebuje kraju (adresu IP) i portu do którego zadokuje.

    W tym poradniku, sprawdź jak wylistować otwarte porty w Linuksie.

    Porty w Linuksie

    Porty działają jako punkty końcowe komunikacji. Jest to 16-bitowa liczba (od 0 do 65535 w systemie dziesiętnym). Chociaż zakres jest duży, dla łatwości użycia, porty są podzielone na trzy kategorie. Każda kategoria jest oznaczona jako zakres wartości portu:

    • 0 do 1023: Są to porty „Well-known”, znane również jako porty „systemowe”, które są zarezerwowane dla procesów systemowych, które oferują szeroką gamę usług sieciowych. Aby związać się z portem „Well-known”, proces musi mieć uprawnienia superużytkownika.
    • 1024 do 49151: Są to porty „Registered”, znane również jako porty „User”, które są wyznaczone przez IANA dla konkretnych usług. Na żądanie, proces może mieć do nich dostęp. W przypadku większości systemów, korzystanie z tych portów nie wymaga żadnych uprawnień superużytkownika.
    • 49152 do 65535: Są to porty „Dynamic”, znane również jako porty „Private”. Te porty nie mogą być zarejestrowane w IANA. Te porty są otwarte do wykorzystania dla prywatnych lub niestandardowych usług i mogą być również automatycznie przydzielane jako porty efemeryczne (krótko żyjące porty wykorzystywane przez IP).

    W Linuksie, istnieje wiele sposobów sprawdzania otwartych portów. Domyślnie, każdy port pozostanie zamknięty, chyba że korzysta z niego jakaś aplikacja. Jeśli port jest otwarty, to musi być przypisany do usługi/procesu.

    Lista otwartych portów

    Łatwiej jest zidentyfikować które porty są w użyciu niż które są otwarte. Dlatego też w poniższej sekcji przedstawimy metody na wylistowanie wszystkich portów, które są aktualnie w użyciu. W Linuksie, istnieje wiele narzędzi dostępnych do tego zadania. Większość z nich jest wbudowana w każdą dystrybucję Linuksa.

    Dowiedzenie się które porty są aktualnie otwarte może być przydatne w różnych scenariuszach. Możliwe jest skonfigurowanie dedykowanego portu dla określonej aplikacji. Otwarty port może również wskazywać na włamanie do sieci.

    Poniższe metody zostały zademonstrowane na Ubuntu 20.04.1 LTS.

    Lista protokołów i otwartych portów z /etc/services

    Plik /etc/services zawiera informacje o aktualnie uruchomionych usługach. Jest to duży plik, więc przygotuj się na przytłoczenie.

    $ cat /etc/services | less

    Lista otwartych portów przy użyciu netstat

    Narzędzie netstat jest narzędziem do wyświetlania połączeń sieciowych dla TCP, tablic routingu i różnych interfejsów sieciowych. Oferuje również statystyki protokołów sieciowych. Używając netstat, możemy wyświetlić listę wszystkich otwartych portów w systemie.

    Uruchom następujące polecenie netstat:

    $ netstat – -p”.atu

    Zróbmy szybki podział wszystkich flag, których użyliśmy w tym poleceniu.

    • a: Mówi netstatowi, aby pokazał wszystkie gniazda
    • t: Mówi netstatowi, aby wylistował porty TCP
    • u: Mówi netstatowi, aby wylistował porty UDP

    Oto kolejna wariacja polecenia netstat:

    $ netstat -lntu

    W poleceniu tym występują dwie nowe flagi. Co one oznaczają?

    • l: Mówi netstatowi, aby drukował tylko nasłuchujące gniazda
    • n: Mówi netstatowi, aby pokazał numer portu

    Aby wyświetlić PID procesu, który używa portu, użyj flagi „-p”:

    $ netstat -lntup

    Lista otwartych portów przy użyciu ss

    Narzędzie ss jest narzędziem do badania gniazd. Jego użycie jest podobne do netstat.

    Aby wyświetlić listę otwartych portów, wykonaj następujące polecenie ss:

    $ ss -lntu

    Flagi są podobne do netstatu. Funkcje, które opisują są również dość podobne.

    • l: Mówi ss, aby wyświetlał nasłuchujące gniazda
    • n: Mówi ss, aby nie próbował rozwiązywać nazw usług
    • t: Mówi ss, aby wyświetlał gniazda TCP
    • u: Mówi ss, aby wyświetlał gniazda UDP

    Listuj otwarte porty za pomocą lsof

    Komenda lsof służy do listowania otwartych plików. Jednakże, może być również użyte do wyświetlenia otwartych portów.

    Uruchom następujące polecenie lsof:

    $ lsof -.i

    Aby uzyskać otwarte porty konkretnego protokołu (TCP, UDP, itp.) to zdefiniuj go po fladze „-i”, użyj:

    $ lsof -i <protokół>

    Lista otwartych portów przy użyciu nmap

    Narzędzie nmap jest potężnym narzędziem do eksploracji sieci i skanowania bezpieczeństwa/portów. Może zgłosić wszystkie otwarte porty w systemie.

    Aby wyświetlić listę otwartych portów TCP, uruchom następujące polecenie nmap. Tutaj adres IP jest adresem komputera hosta:

    $ sudo nmap -sT -p- localhost

    W tym miejscu występują dwie porcje argumentów polecenia.

    • -sT: Ta sekcja mówi nmapowi, aby skanował dla portów TCP.
    • -p- : To mówi nmapowi, aby skanował dla wszystkich 65535 portów. Jeśli nie zostanie użyta, to nmap będzie domyślnie skanował tylko 1000 portów.

    Jeśli chcesz wyświetlić listę otwartych portów UDP, uruchom następującą komendę 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

    Lista otwartych portów przy użyciu netcat

    Narzędzie netcat jest narzędziem wiersza poleceń służącym do odczytywania i zapisywania danych przez połączenia sieciowe za pośrednictwem protokołów TCP i UDP. Narzędzie to może być również używane do listowania otwartych portów. Może ono wykonywać testy na określonym porcie lub zakresie portów.

    Następujące polecenie netcat przeskanuje porty od 1 do 1000. Polecenie netcat domyślnie wykona skanowanie na protokole TCP:

    $ nc -z -v localhost 1-1000

    Można je również rozszerzyć na całą listę możliwych portów:

    $ nc -z -v localhost 1-65535

    Pozwólmy sobie na szybki podział flag.

    • z: Mówi netcatowi, aby skanował tylko w poszukiwaniu otwartych portów bez wysyłania jakichkolwiek danych
    • v: Mówi netcatowi, aby działał w trybie verbose

    Aby uzyskać tylko otwarte porty z tej listy, przefiltruj wyjście za pomocą grep dla terminu „succeeded”.

    $ nc -z -v localhost 0-65535 2>&1 | grep succeeded

    Jeśli chcesz wykonać skanowanie na protokole UDP, dodaj flagę „-u”.

    $ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded

    Myślenie końcowe

    Jak pokazano, istnieje mnóstwo sposobów na skanowanie otwartych portów w Linuksie. Sugeruję wypróbowanie wszystkich metod zanim zdecydujesz się, którą z nich opanować. Jeśli regularnie używasz jakiegoś narzędzia, jak netcat czy nmap, to opanowanie powiązanych z nimi metod będzie najbardziej korzystne.

    Wesołej pracy z komputerem!

    Skorzystaj z tego!

    Previous articleTyphus Treatment & ManagementNext article Sarahs story

    Dodaj komentarz Anuluj pisanie odpowiedzi

    Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

    Najnowsze wpisy

    • Znalezienie siebie (i innych…) w rocznikach online
    • Jak skonfigurować Bitcoin ASIC miner
    • Chris Martin ma urodziny w Disneylandzie z Dakotą Johnson
    • Co to jest teren Superfund?
    • Fishing-bait bloodworms have bee-sting bites
    • Władca Much
    • A Beginner’s Guide to Pegging
    • 42 Healthy Crockpot Soup Recipes
    • Tina Fey Biografia
    • Nike wydało 15 000 dolarów na specjalną maszynę tylko po to, aby Florida State center Michael Ojo’s shoes

    Archiwa

    • Kwiecień 2021
    • Marzec 2021
    • Luty 2021
    • Styczeń 2021
    • Grudzień 2020
    • Listopad 2020
    • Październik 2020
    • Wrzesień 2020
    • Sierpień 2020
    • Lipiec 2020
    • Czerwiec 2020
    • Maj 2020
    • Kwiecień 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Zaloguj się
    • Kanał wpisów
    • Kanał komentarzy
    • WordPress.org
    Posterity WordPress Theme