Vyhledávání na webu

4 způsoby, jak zjistit, jaké porty poslouchají v Linuxu


Stav portu je buď otevřený, filtrovaný, zavřený nebo nefiltrovaný. O portu se říká, že je otevřený, pokud aplikace na cílovém počítači naslouchá připojení/paketům na tomto portu.

V tomto článku vysvětlíme čtyři způsoby kontroly otevřených portů a také vám ukážeme, jak zjistit, která aplikace naslouchá na jakém portu v Linuxu.

1. Použití příkazu Netstat

Netstat je široce používaný nástroj pro dotazování na informace o síťovém subsystému Linux. Můžete jej použít k tisku všech otevřených portů takto:

sudo netstat -ltup 

Příznak -l říká netstatu, aby vytiskl všechny naslouchající sokety, -t zobrazuje všechna TCP spojení, -u zobrazuje všechna UDP spojení a -p umožňuje tisk názvu aplikace/programu naslouchajícího na portu.

Chcete-li tisknout číselné hodnoty místo názvů služeb, přidejte příznak -n.

sudo netstat -lntup

Můžete také použít příkaz grep, abyste například zjistili, která aplikace naslouchá na konkrétním portu.

sudo netstat -lntup | grep "nginx"

Alternativně můžete zadat port a najít aplikaci navázanou, jak je znázorněno.

sudo netstat -lntup | grep ":80"

2. Pomocí příkazu ss

Příkaz ss je dalším užitečným nástrojem pro zobrazení informací o soketech. Jeho výstup vypadá podobně jako výstup netstat. Následující příkaz zobrazí všechny naslouchající porty pro připojení TCP a UDP v číselné hodnotě.

sudo ss -lntu

3. Pomocí příkazu Nmap

Nmap je výkonný a oblíbený nástroj pro průzkum sítě a skener portů. Chcete-li nainstalovat nmap na váš systém, použijte výchozího správce balíčků, jak je znázorněno.

sudo apt install nmap  [On Debian/Ubuntu]
sudo yum install nmap  [On CentOS/RHEL]
sudo dnf install nmap  [On Fedora 22+]

Chcete-li prohledat všechny otevřené/naslouchací porty ve vašem systému Linux, spusťte následující příkaz (jehož dokončení by mělo trvat dlouho).

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

4. Použití příkazu lsof

Posledním nástrojem, který pokryjeme pro dotazování na otevřené porty, je příkaz lsof, který se používá k výpisu otevřených souborů v Linuxu. Protože vše je v Unixu/Linuxu soubor, otevřený soubor může být datový proud nebo síťový soubor.

Chcete-li zobrazit všechny internetové a síťové soubory, použijte volbu -i. Všimněte si, že tento příkaz zobrazuje kombinaci názvů služeb a číselných portů.

sudo lsof -i

Chcete-li zjistit, která aplikace naslouchá na konkrétním portu, spusťte lsof v tomto formuláři.

sudo lsof -i :80

To je vše! V tomto článku jsme vysvětlili čtyři způsoby kontroly otevřených portů v Linuxu. Také jsme si ukázali, jak zkontrolovat, které procesy jsou vázány na konkrétní porty. Prostřednictvím formuláře pro zpětnou vazbu níže můžete sdílet své myšlenky nebo se ptát.