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.