Správa přístavů

Jak zobrazit seznam otevřených portů v systému Linux?

Jak zobrazit seznam otevřených portů v systému Linux?

V síti je port zajímavou funkcí. Je to způsob, jak síťový provoz identifikuje cílovou aplikaci nebo službu. Každý proces / služba získá svůj jedinečný port. Port bude vždy spojen s IP adresou hostitele spolu s protokolem.

Toto je moje oblíbená metafora, která popisuje, co je to port. Představte si loď naloženou nákladem, která se vydá do vzdálené země. Jaké informace jsou potřebné k správnému dosažení cíle? Pro jednoduchost řekněme, že potřebuje zemi (IP adresu) a přístav loď zakotví.

V této příručce se podívejte, jak vypsat seznam otevřených portů v systému Linux.

Porty na Linuxu

Porty fungují jako koncový bod komunikace. Je to 16bitové číslo (0 až 65535 v desítkové soustavě). I když je rozsah velký, pro snadné použití jsou porty rozděleny do tří kategorií. Každá kategorie je označena jako rozsah hodnoty portu:

V systému Linux existuje několik způsobů kontroly otevřených portů. Ve výchozím nastavení zůstane jakýkoli port zavřený, pokud ho aplikace nepoužívá. Pokud je port otevřený, musí být přiřazen ke službě / procesu.

Seznam otevřených portů

Je snazší určit, které porty se používají, než které porty jsou otevřené. Proto v následující části budou uvedeny metody pro seznam všech portů, které se aktuálně používají. V systému Linux existuje pro tuto úlohu více nástrojů. Většina z nich je zabudována v jakékoli linuxové distribuci.

Zjištění, které porty jsou aktuálně otevřené, může být užitečné v různých scénářích. Je možné nakonfigurovat vyhrazený port pro určitou aplikaci. Otevřený port může být také silnou známkou narušení sítě.

Následující metody jsou demonstrovány na Ubuntu 20.04.1 LTS.

Seznam protokolů a otevřených portů z / etc / services

Soubor / etc / services obsahuje informace o aktuálně spuštěných službách. Je to velký soubor, takže můžete být ohromeni.

$ cat / etc / services | méně

Seznam otevřených portů pomocí netstat

Nástroj netstat je nástroj pro zobrazení síťových připojení pro TCP, směrovací tabulky a různá síťová rozhraní. Nabízí také statistiky síťového protokolu. Pomocí netstatu můžeme vypsat všechny otevřené porty systému.

Spusťte následující příkaz netstat:

$ netstat -atu

Pojďme rychle rozdělit všechny příznaky, které jsme použili v tomto příkazu.

Zde je další variace příkazu netstat:

$ netstat -lntu

V příkazu jsou použity dva nové příznaky. Co tím myslí?

Chcete-li zobrazit PID procesu, který používá port, použijte příznak „-p“:

$ netstat -lntup

Seznam otevřených portů pomocí ss

Nástroj ss je nástroj pro vyšetřování soketu. Jeho použití je podobné jako netstat.

Chcete-li zobrazit seznam otevřených portů, spusťte následující příkaz ss:

$ ss -lntu

Příznaky jsou podobné jako netstat. Funkce, které popisují, jsou také docela podobné.

Seznam otevřených portů pomocí lsof

Příkaz lsof je seznam otevřených souborů. Lze jej však také použít k zobrazení otevřených portů.

Spusťte následující příkaz lsof:

$ lsof -i

Chcete-li získat otevřené porty konkrétního protokolu (TCP, UDP atd.) poté jej definujte za příznakem „-i“, použijte:

$ lsof -i

Seznam otevřených portů pomocí nmap

Nástroj nmap je výkonný nástroj pro průzkum sítě a zabezpečení / skenování portů. Může hlásit všechny otevřené porty v systému.

Chcete-li zobrazit seznam otevřených portů TCP, spusťte následující příkaz nmap. Zde je adresa IP hostitelského počítače:

$ sudo nmap -sT -p- localhost

Zde jsou dvě části argumentu příkazu.

  • -Svatý: Tato část říká nmap, aby vyhledával porty TCP.
  • -p- : Toto říká nmap, aby vyhledal všech 65535 portů. Pokud není použit, pak nmap ve výchozím nastavení prohledá pouze 1000 portů.

Pokud potřebujete zobrazit seznam otevřených portů UDP, spusťte následující příkaz nmap:

$ sudo nmap -sU -p- localhost

Chcete-li získat otevřené porty TCP i UDP, použijte následující příkaz:

$ sudo nmap -n -PN -sT -sU -p- localhost

Seznam otevřených portů pomocí netcat

Nástroj netcat je nástroj příkazového řádku pro čtení a zápis dat přes síťová připojení přes protokoly TCP a UDP. Tento nástroj lze také použít pro výpis otevřených portů. Může provádět testy na konkrétním portu nebo na řadě portů.

Následující příkaz netcat prohledá port od 1 do 1000. Ve výchozím nastavení provede příkaz netcat kontrolu protokolu TCP:

$ nc -z -v localhost 1-1000

Lze jej také rozšířit na celý seznam možných portů:

$ nc -z -v localhost 1-65535

Pojďme rychle rozdělit vlajky.

  • z: Řekne netcat, aby vyhledával pouze otevřené porty bez odesílání dat
  • proti: Říká netcat, aby běžel v podrobném režimu

Chcete-li získat pouze otevřené porty z tohoto seznamu, filtrujte výstup pomocí grep pro výraz „uspěl“.

$ nc -z -v localhost 0-65535 2> & 1 | grep uspěl

Chcete-li provést skenování na protokolu UDP, přidejte příznak „-u“.

$ nc -z -v -u localhost 0-65535 2> & 1 | grep uspěl

Závěrečné myšlenky

Jak bylo prokázáno, v systému Linux existuje spousta způsobů, jak vyhledat otevřené porty. Navrhuji vyzkoušet všechny metody, než se rozhodnete, kterou z nich zvládnete. Pokud pravidelně používáte určitý nástroj, jako je netcat nebo nmap, bude nejpřínosnější zvládnutí přidružených metod.

Šťastný výpočetní výkon!

Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...
Jak obrátit směr posouvání myši a touchpadu ve Windows 10
Myš a Touchpadnejenže usnadňují výpočet, ale jsou efektivnější a méně časově náročné. Nemůžeme si představit život bez těchto zařízení, ale přesto je ...
Jak změnit velikost, barvu a schéma kurzoru myši a kurzoru v systému Windows 10
Ukazatel myši a kurzor ve Windows 10 jsou velmi důležité aspekty operačního systému. To lze říci i pro jiné operační systémy, takže ve skutečnosti nej...