Ubuntu

Jak najít otevřené porty na Ubuntu?

Jak najít otevřené porty na Ubuntu?
Při řešení potíží se sítí a udržování zabezpečení serveru musí být správce sítě nebo pracovník zabezpečení obeznámen s nástroji používanými k hledání otevřených portů na serveru. Linux poskytuje různé nástroje a možnosti příkazového řádku pro seznam otevřených portů na serveru. V tomto tutoriálu uvidíme, jak můžeme vypsat všechny otevřené porty pomocí různých příkazů v terminálu Ubuntu.

Co znamená otevřený port?

Než se pustíme hlouběji do kontroly otevřených portů, nejprve si povíme, co to znamená. Otevřený port nebo naslouchající port je port, na kterém je spuštěna nějaká aplikace. Spuštěná aplikace naslouchá na nějakém portu a s touto aplikací můžeme komunikovat přes tento naslouchající port. Pokud je aplikace spuštěna na portu a my se pokusíme spustit jinou aplikaci na stejném portu, jádro způsobí chybu. To je jeden z mnoha důvodů, proč před spuštěním aplikací kontrolujeme otevřené porty.

Seznam otevřených portů pomocí nmap

Network Mapper, známý jako nmap, je open source a bezplatný nástroj, který se používá ke skenování portů v systému. Používá se k hledání zranitelností, objevování sítí a hledání otevřených portů. V této části použijeme nmap k získání seznamu otevřených portů v systému. Nejprve aktualizujte mezipaměť na Ubuntu před instalací nmap:

[chráněno e-mailem]: ~ $ sudo apt-get update -y

Nmap lze nainstalovat pomocí následujícího příkazu v terminálu:

[chráněno e-mailem]: ~ $ sudo apt-get install nmap -y

Po instalaci nmap ověřte instalaci kontrolou verze nmap:

[chráněno e-mailem]: ~ $ nmap --verze

Pokud poskytuje verzi nmap, je nainstalována perfektně, jinak zkuste výše uvedené příkazy znovu a správně nainstalujte nmap. Nmap se používá k provádění několika souvisejících se sítěmi a skenování portů je jednou z těchto úloh. Nástroj nmap se používá spolu s mnoha možnostmi. Seznam všech dostupných možností můžeme získat pomocí následujícího příkazu:

[chráněno e-mailem]: ~ $ man nmap

Chcete-li tedy prohledat svého místního hostitele, použijte níže uvedený zadržený příkaz:

[chráněno e-mailem]: ~ $ sudo nmap localhost

Zobrazí seznam všech otevřených portů na localhost, jak je zobrazeno na obrázku výše. Můžeme také použít nmap ke skenování vzdálených hostitelů:

[chráněno e-mailem]: ~ $ sudo nmap 93.184.216.34

Místo IP adresy můžeme také použít název hostitele vzdáleného serveru:

[chráněno e-mailem]: ~ $ sudo nmap www.příklad.com

Příkaz nmap lze také použít ke skenování řady IP adres. V příkazu zadejte rozsah adres IP, jako v níže uvedeném příkazu:

[chráněno e-mailem]: ~ $ sudo nmap 192.168.1.1-10

Výše uvedený příkaz prohledá všechny adresy IP od 192.168.1.1 až 192.168.1.10 a zobrazí výsledek v terminálu. Pro skenování portů v podsíti můžeme použít nmap následujícím způsobem:

[chráněno e-mailem]: ~ $ sudo nmap 192.168.1.1/24

Výše uvedený příkaz prohledá všechny hostitele s IP adresami v podsíti definované v příkazu.

Někdy musíte skenovat porty na náhodných hostitelích, kteří jsou v různých podsítích a nejsou v pořadí, pak je nejlepším řešením napsat soubor hostitelů, do kterého jsou zapsána všechna jména hostitelů, oddělená jednou nebo více mezerami, kartami nebo novými řádky. Tento soubor lze použít s nmap následovně:

[chráněno e-mailem]: ~ $ sudo nmap -iL hostitelé.txt

Můžeme použít nmap ke skenování jednoho portu v systému zadáním portu pomocí příznaku '-p' spolu s nmap, jako v následujícím příkazu:

[chráněno e-mailem]: ~ $ sudo nmap -p 80 localhost

Rozsah portů lze v systému skenovat také pomocí nmap následujícím způsobem:

[chráněno e-mailem]: ~ $ sudo nmap -p 80-85 localhost

Můžeme skenovat všechny porty systému pomocí nmap:

[chráněno e-mailem]: ~ $ sudo nmap -p- localhost

Chcete-li získat seznam nejčastěji otevřených portů ve vašem systému, můžete použít příkaz nmap s příznakem '-F':

[chráněno e-mailem]: ~ $ sudo nmap -F localhost

Porty TCP lze v systému skenovat pomocí nmap pouhým přidáním příznaku '-T' spolu s příkazem nmap:

[chráněno e-mailem]: ~ $ sudo nmap -sT localhost

Podobně pro porty UDP můžete použít příkaz '-U' pomocí příkazu nmap:

[chráněno e-mailem]: ~ $ sudo nmap -sU localhost

Seznam otevřených portů pomocí lsof

Příkaz lsof, známý také jako 'seznam otevřených souborů', se používá k získání informací o otevřených souborech používaných různými procesy v operačních systémech UNIX a LINUX. U většiny distribucí pro Linux je tento nástroj předinstalován. Instalaci lsof můžeme ověřit pouhou kontrolou jeho verze:

[chráněno e-mailem]: ~ $ lsof -v

Pokud verzi nezobrazí, není ve výchozím nastavení nainstalován lsof. Stále jej můžeme nainstalovat pomocí následujících příkazů v terminálu:

[chráněno e-mailem]: ~ $ sudo apt-get update -y
[chráněno e-mailem]: ~ $ sudo apt-get install lsof

Můžeme použít příkaz lsof spolu s různými možnostmi. Seznam všech dostupných možností lze zobrazit pomocí následujícího příkazu v terminálu:

[chráněno e-mailem]: ~ $ man lsof

Nyní v této části použijeme lsof k zobrazení portů systému různými způsoby:

[chráněno e-mailem]: ~ $ sudo lsof -i

Výše uvedený příkaz zobrazil všechny otevřené porty. Můžeme také použít příkaz lsof k zobrazení všech otevřených soketů:

[chráněno e-mailem]: ~ $ sudo lsof -n -P | pozdrav poslouchat

Můžeme vypsat filtrované porty na základě protokolu pomocí lsof. Spuštěním níže uvedeného příkazu zobrazte seznam všech typů připojení TCP:

[chráněno e-mailem]: ~ $ sudo lsof -i tcp

Podobně můžeme vypsat všechny typy připojení UDP pomocí lsof následujícím způsobem:

[chráněno e-mailem]: ~ $ sudo lsof -i udp

Seznam otevřených portů pomocí netstat

Netstat, známý také jako statistika sítě, je program příkazového řádku, který se používá k zobrazení podrobných informací o sítích. Zobrazuje příchozí i odchozí připojení TCP, směrovací tabulky, síťová rozhraní atd. V této části použijeme netstat k vypsání otevřených portů v systému. Nástroj netstat lze nainstalovat spuštěním následujících příkazů:

[chráněno e-mailem]: ~ $ sudo apt-get update -y
[chráněno e-mailem]: ~ $ sudo apt-get install net-tools -y

Po spuštění výše uvedených příkazů můžete instalaci ověřit kontrolou verze netstat:

[chráněno e-mailem]: ~ $ netstat --version

Pokud zobrazuje verzi síťových nástrojů, je instalace v pořádku, jinak spusťte instalační příkazy znovu. Chcete-li získat přehled všech dostupných možností, které lze použít, spolu s příkazem netstat, spusťte následující příkaz:

[chráněno e-mailem]: ~ $ man netstat

Seznam všech naslouchajících portů můžeme získat pomocí příkazu netstat v Ubuntu spuštěním následujícího příkazu:

[chráněno e-mailem]: ~ $ sudo netstat -l

Příkaz netstat lze také použít k filtrování poslechu portů TCP a UDP pouhým přidáním příznaku spolu s příkazem. Pro poslech TCP portů:

[chráněno e-mailem]: ~ $ sudo netstat -lt

Pro poslech portů UDP použijte následující příkaz:

[chráněno e-mailem]: ~ $ sudo netstat -lu

Chcete-li získat seznam všech naslouchajících portů UNIX, můžete v terminálu spustit následující příkaz:

[chráněno e-mailem]: ~ $ sudo netstat -lx

Seznam otevřených portů pomocí ss

Příkaz ss se používá k zobrazení informací o soketech v systému Linux. Zobrazuje podrobnější informace o soketech než příkaz netstat. Příkaz ss je předinstalován pro většinu distribucí Linuxu, takže jej před použitím nemusíte instalovat. Seznam všech možností, které lze použít spolu s příkazem ss, získáte spuštěním příkazu 'man' s ss:

[chráněno e-mailem]: ~ $ man ss

Chcete-li získat seznam všech připojení bez ohledu na jejich stav, použijte příkaz ss bez příznaku:

[chráněno e-mailem]: ~ $ sudo ss

Chcete-li získat seznam všech naslouchajících portů, použijte příkaz ss s příznakem '-l'. Příznak '-l' se používá k zobrazení pouze naslouchajících portů:

[chráněno e-mailem]: ~ $ sudo ss -l

K získání všech naslouchajících portů TCP můžeme použít příznak '-t' a '-l' spolu s příkazem ss:

[chráněno e-mailem]: ~ $ sudo ss -lt

Podobně můžeme získat seznam všech naslouchajících portů UDP pomocí příkazu ss spolu s příznaky '-u' a '-l':

[chráněno e-mailem]: ~ $ sudo ss -lu

Příkaz ss lze také použít k získání seznamu všech připojení ke zdrojovému nebo cílovému portu. V následujícím příkladu získáme seznam všech připojení k cílovému nebo zdrojovému portu 22:

[chráněno e-mailem]: ~ $ sudo ss -at '(dport =: 22 nebo sport =: 22)'

Pokud jste se připojili ke vzdálenému systému pomocí ssh, získáte seznam všech příchozích a odchozích připojení.

Závěr

Pro správce systému, profesionály v oblasti zabezpečení a další osoby související s IT je důležité si uvědomit otevřené porty na serverech. Linux je bohatý na nástroje používané k diagnostice sítí a poskytuje mnoho nástrojů, které mohou být užitečné pro různé druhy síťových aktivit. V tomto tutoriálu jsme použili některé nástroje jako netstat, ss, lsof a nmap ke kontrole otevřených portů na Ubuntu. Po absolvování tohoto článku budete moci mnoha způsoby snadno zobrazit seznam všech portů pro poslech na serveru Linux.

Příkaz Linux df
Existuje spousta nástrojů, které nabízejí bezproblémové metody kontroly využití místa na disku. Tyto nástroje jsou nesmírně užitečné při kontrole spot...
Jak měřit aktivitu disku pro webový server Linux
Éra digitálního století začala a zdá se, že každý je zaneprázdněn technologiemi. Podniky se usilovněji snaží dosáhnout maximální dokonalosti poskytová...
Linux Mount Command
V ekosystému Linux je připojení jednou z hlavních operací, na které se systém spoléhá. Ve skutečnosti je souborový systém Linuxu závislý pouze na mech...