Hledání PID Procesu Pomocí Konkrétní Port


Přehled

všichni víme, že port lze použít pouze jednu aplikaci nebo službu ve stejnou dobu. Někdy potřebujeme vědět, který proces poslouchá na konkrétním portu.

v tomto tutoriálu uvidíme různé přístupy k nalezení procesu poslechu na konkrétním portu v Linuxu.

oprávnění root

v Linuxu může podrobné informace o procesu získat pouze uživatel root nebo vlastník procesu.,

když chceme zkontrolovat proces poslechu na konkrétním portu, nevíme, komu proces patří.

se svolením root můžeme získat všechny potřebné informace o procesu, například identifikátor procesu.

proto možná budeme muset spustit naše síťové nástroje u uživatele root (nebo pomocí sudo).

pomocí netstat

příkaz netstat je členem balíčku net-tools.

v minulosti byl předinstalován v mnoha distribucích Linuxu. Balíček net-tools však nebyl aktualizován od roku 2011.,

vzhledem k nedostatku podpory moderních funkcí jádra Linuxu a dalších důvodů se balíček net-tools stal zastaralým.

to znamená, že samotný netstat je stále široce používán, takže se podívejme, jak to může pomoci.

nejprve se podívejme na příklad výstupu příkazu netstat:

s možnostmi ltnup, netstat nám ukazuje všechny použité Porty ve výše uvedeném příkladu.,

Pojďme se podívat na to, co volby znamenají:

  • l – show pouze poslech zásuvky
  • t – show TCP spojení
  • n – ukáže adresy v číselné podobě
  • u – show UDP spojení
  • p – ukázat id procesu/název programu

podíváme-Li se na výše uvedený výstup, poslední sloupec je přesně to, co hledáme: PID a název Procesu naslouchání na určitém portu.

můžeme jednoduše přenést výstup netstat do příkazu grep, abychom získali informace o procesu na jednotlivém portu.,

například, pojďme se podívat, který proces naslouchá na portu 22:

root# netstat -ltnup | grep ':22'tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 575/sshd

Použití ss

V předchozí části jsme diskutovali, že net-tools balíček je zastaralý.

příkaz ss je nahrazení příkazu netstat.

Nyní se podívejme, jak používat ss příkaz zobrazit, který proces naslouchá na portu 22:

Pokud se podíváme na konkrétní možnosti, zjistíme, že možností máme přešel na velitelství ss jsou stejné, jako jsme předán netstat.,

jediný rozdíl je v tom, že jsme využívali státní filtr SS utility namísto dalšího procesu grep k filtrování výstupu.

podobně jako výstup příkazu netstat leží očekávané informace o procesu také v posledním sloupci.

pomocí příkazu lsof

příkaz lsof může vypsat všechny otevřené soubory v systému Linux.,

můžeme použít příkaz lsof najít proces pomocí konkrétní port, s -i :port_number možnosti:

root# lsof -i :22COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 575 root 3u IPv4 19373 0t0 TCP *:ssh (LISTEN)

první čtyři sloupce ve výše uvedeném výstupu řekněte nám název procesu naslouchání na portu 22 a jeho PID, majitel a deskriptor souboru.

můžeme projít více -i :port příkaz lsof zjistit procesy poslech na různé porty:

root# lsof -i :22 -i :68COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 575 root 3u IPv4 19373 0t0 TCP *:ssh (LISTEN)dhcpcd 8822 root 10u IPv4 49601 0t0 UDP *:bootpc

Použití fixační jednotky

fixační nástroj zobrazí procesy, které jsou pomocí pojmenované soubory, sockety nebo souborové systémy., Je součástí balíčku psmisc a ve výchozím nastavení je předinstalován na mnoha moderních distribucích Linuxu.

můžeme použít k zobrazení informací o procesu běžícím na konkrétním portu. Opět zjistíme PID zpracování TCP portu 22:

výše uvedený výstup je velmi přímočarý. Víme, že proces s PID 575 poslouchá na portu TCP 22.

nicméně nám neříká podrobné informace o procesu, například Jaký je název procesu 575? kdo vlastní tento proces? a tak dále.,

chceme-Li získat více informací o procesu, můžeme projít „-v“ možnost fixační příkaz mít podrobný výstup:

root# fuser -v 22/tcp USER PID ACCESS COMMAND22/tcp: root 575 F.... sshd

Pomocí fixační jednotky příkaz, můžeme také zkontrolovat běžící proces informace o více TCP nebo UDP portů v jednom záběru:

root# fuser -v 22/tcp 68/udp USER PID ACCESS COMMAND22/tcp: root 575 F.... sshd68/udp: root 8822 F.... dhcpcd

Závěr

V tomto krátkém článku, jsme se dozvěděli, čtyři různé Linux příkazového řádku nástrojů s příklady zjistit informace o procesu naslouchání na určitém portu.,

jsou to všechny velmi výkonné nástroje, které mají v našem arzenálu na příkazovém řádku Linuxu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Přejít k navigační liště