Úvod
Při práci se systémem Linux někdy narazíte na problémy se sítí nebo musíte nakonfigurovat bránu firewall. V těchto situacích možná budete muset zkontrolovat, zda jsou určité porty otevřeny nebo ne?
Tento článek vysvětlí podrobnosti několika způsobů, jak zjistit, jaké porty jsou otevřeny ve vašem systému Linux.
Všechny příklady v tomto tutoriálu byly provedeny na Ubuntu 20.04.
Co je otevřený port?
Otevřený port je síťový port TCP nebo UDP, který přijímá příchozí pakety zvenčí.
Pokud je například na vašem systému Linux nainstalován SSH server, bude naslouchat na portu 22. V případě, že je tento port otevřený na firewallu, uživatelé ze vzdálených systémů budou moci vytvořit SSH připojení k vašemu systému. Říkáme, že port 22 je otevřený port.
S ohledem na to, že bychom měli vystavit pouze nezbytné porty, aby aplikace mohly správně běžet. Ostatní nepotřebné porty by měly být uzavřeny, aby se předešlo bezpečnostním rizikům.
Použití nmap ke kontrole otevřených portů
Nmap je zkratka pro Network Mapper. Je to užitečný a výkonný nástroj, který se používá ke skenování hostitelů a služeb v síti.
Kromě funkce skenování hostitelských portů může nmap také zjistit MAC adresy, operační systémy, verze jádra atd.
Ve výchozím nastavení není nmap na Ubuntu 20.04 předinstalován. Můžete jej nainstalovat spuštěním následujících příkazů:
$ sudo apt update
$ sudo apt install nmap
Ověřte, že je nmap úspěšně nainstalován:
$ nmap -version
Výstup:
Nyní je čas použít nmap ke kontrole otevřených portů ve vašem systému. Spusťte příkaz:
$ sudo nmap -sT -p- 10.128.0.2
Výstup:
Ve kterém:
-sT -p- udává, že nmap bude hledat všechny TCP porty.
10.128.0.2 je vaše interní IP adresa vašeho hostitele.
Pokud chcete vyhledat porty UDP, spusťte nmap s volbou -sU:
$ sudo nmap -sU -p- 10.128.0.2
Výstup:
Použití netcat ke kontrole otevřených portů
Netcat je výkonný nástroj příkazového řádku, který provádí síťové operace. Pro čtení a zápis dat v sítích používá protokoly TCP a UDP.
Necat lze také použít pro skenování a přesměrování síťových portů.
Pokud chcete zkontrolovat otevřené porty v rozsahu 20-25 na počítači Ubuntu 20.04, který má IP 10.128.0.2, spusťte následující příkaz:
$ netcat -z -v 10.128.0.2 20-50
Výstup:
Ve kterém:
-z označuje, že netcat skenuje pouze otevřené porty
-v odešle podrobné informace do terminálu
V případě, že chcete zobrazit pouze otevřené porty, můžete spustit:
$ netcat -z -v 10.128.0.2 20-80 2>&1 | grep succeeded
Výstup:
Chcete-li vyhledat porty v UDP, použijte volbu -u takto:
$ netcat -z -v -u 10.128.0.2 20-80 2>&1 | grep succeeded
Výstup:
Závěr
Tento tutoriál vám ukázal některé běžné nástroje, které lze použít ke kontrole otevřených portů v systému Linux.
Pokud máte nějaké obavy, dejte mi vědět v sekci komentářů.