GNU/Linux >> Znalost Linux >  >> Linux

Linux:Zjistěte, na kterém čísle portu proces poslouchá

Jako uživatelé Linuxu někdy potřebujeme vědět, na jakém čísle portu konkrétní proces naslouchá. Všechny porty jsou přidruženy k ID procesu nebo službě v operačním systému. Jak tedy najdeme tento port? V tomto článku představíme tři různé metody, které můžete použít ke zjištění, na kterém portu proces naslouchá.

Spustili jsme příkazy a postupy popsané v tomto článku na systému Ubuntu 22.04 LTS.

Metoda 1:Použití příkazu netstat

Netstat, nástroj pro statistiku sítě, se používá k zobrazení informací o síťových připojeních. To zahrnuje informace o statistikách rozhraní, směrovacích tabulkách a mnoho dalšího. Tento nástroj je k dispozici na většině systémů Linux, takže jej používáme ke zjištění, které porty určité procesy v systému používají.

Chcete-li použít příkaz netstat, musíte nainstalovat obslužný program net-tools, pokud ještě není nainstalován ve vašem systému, pomocí následujícího příkazu:

$ sudo apt install net-tools

Poté spusťte následující příkaz:

$ sudo netstat -ltnp

Výše uvedený příkaz poskytuje informace netstat na základě následujících funkcí:

  • l:zobrazí pouze naslouchající zásuvky
  • t:zobrazit připojení TCP
  • n:zobrazí adresy v číselné podobě
  • p:zobrazí ID procesu/název programu

Například ve výše uvedeném výstupu příkazu netstat běží program Apache2 s ID procesu 950 na portu číslo 80.

Můžete také filtrovat statistiky pro konkrétní port začleněním funkce grep do vašeho příkazu.

Příklad:

$ sudo netstat -ltnp | grep -w ':80'

Tento příkaz vám konkrétně řekne, který proces běží na portu číslo 80.

Metoda 2:Použití příkazu lsof

Nástroj lsof nebo nástroj Seznam otevřených souborů pomáhá při vypisování všech otevřených souborů ve vašem systému Linux. Tento nástroj můžeme použít k zobrazení všech procesů otevřených na konkrétním portu.

Chcete-li použít příkaz lsof, musíte nainstalovat obslužný program lsof, pokud ještě není nainstalován ve vašem systému, pomocí následujícího příkazu:

$ sudo apt install lsof

Použijme lsof k zobrazení služby naslouchající na konkrétním portu.

Příklad:

$ sudo lsof -i :80

Tento příkaz vypíše všechny procesy používající TCP port číslo 80.

Metoda 3:Použití příkazu fixační jednotka

Příkaz fuser zobrazí, která ID procesů používají pojmenované soubory, sokety nebo systémy souborů. Tento příkaz můžeme použít k zobrazení ID procesů běžících na konkrétním TCP portu.

Chcete-li použít příkaz fuser, musíte nainstalovat obslužný program psmisc, pokud ještě není nainstalován ve vašem systému, pomocí následujícího příkazu:

$ sudo apt install psmisc

Podívejme se na všechna ID procesů běžících na portu TCP 3306 pomocí následujícího příkazu:

$ sudo fuser 3306/tcp

V tomto příkazu můžete zadat libovolné číslo portu, abyste viděli procesy naslouchání.

Ve výše uvedeném výstupu můžete vidět, že proces ID 975 naslouchá na TCP 3306.

Chcete-li zobrazit program, kterému toto ID procesu odpovídá, spusťte následující příkaz:

Syntaxe:

$ ps -p [processID] -o comm=

V našem případě:

$ ps -p [975] -o comm=

Výstup ukazuje, že ID procesu 975 odpovídá názvu programu MySDLD. Proces ID 975 programu MySQLd tedy naslouchá na portu číslo 3306.

Pomocí tří metod, které jste se naučili v tomto článku, můžete snadno zjistit, na kterém portu TCP konkrétní proces v Linuxu naslouchá.


Linux
  1. Jak zjistit, co dělá příkaz Linuxu

  2. Zjistit číslo portu pro poslech Rsyslog?

  3. Linux – Jak zjistit jmenný prostor konkrétního procesu?

  1. Najděte čas provedení příkazu nebo procesu v systému Linux

  2. Jak zjistit, který proces používá soubor v Linuxu?

  3. Co je to příkaz k nalezení priority procesu v Linuxu?

  1. 3 způsoby, jak zjistit, který proces poslouchá na konkrétním portu

  2. Zkontrolujte, která služba na daném portu linux naslouchá

  3. 4 způsoby, jak zjistit jádro CPU, na kterém běží konkrétní proces v Linuxu