GNU/Linux >> Znalost Linux >  >> Linux

Nejlepší způsoby, jak zjistit, který proces naslouchá na konkrétním portu

Úvod

port je komunikační koncový bod. Na úrovni softwaru je v rámci operačního systému port logická konstrukce, která identifikuje konkrétní proces nebo typ síťové služby. Port je identifikován pro každou kombinaci přenosového protokolu a adresy pomocí 16bitového čísla bez znaménka, známého jako číslo portu . Nejběžnější přenosové protokoly, které používají čísla portů, jsou Transmission Control Protocol (TCP) a User Datagram Protocol (UDP).

Port je také logická entita, která představuje koncový bod komunikace a je spojena s daným procesem nebo službou v operačním systému. V předchozích článcích jsme vysvětlili, jak zjistit seznam všech otevřených portů v Linuxu a jak zkontrolovat, zda jsou vzdálené porty dosažitelné pomocí příkazu Netcat.

1. Pomocí příkazu lsof

lsof příkaz (List Open Files) se používá k zobrazení seznamu všech otevřených souborů v systému Linux

Chcete-li jej nainstalovat do systému, spusťte

$ sudo apt-get install lsof     #for Debian, Ubuntu and Mint
$ sudo yum install lsof         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/lsof  #for Gentoo Linux
$ sudo pacman -S lsof           #for Arch Linux
$ sudo zypper install lsof      #for OpenSUSE  

Chcete-li najít proces/službu naslouchající na konkrétním portu, spusťte níže příkaz:

[root@unixcop ~]# lsof -i :80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   12289   root    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24040 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24041 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24042 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
[root@unixcop ~]#

2. Pomocí příkazu netstat

Takže netstat příkaz odkazuje na (statistiky sítě) používané k zobrazení informací včetně síťových připojení, směrovacích tabulek a statistik rozhraní.

Instalace netstat:

$ sudo apt-get install net-tools    #for Debian/Ubuntu & Mint
$ sudo dnf install net-tools        #for CentOS/RHEL/Fedora and Rocky Linux
$ pacman -S netstat-nat             #for Arch Linux
$ emerge sys-apps/net-tools         #for Gentoo
$ sudo dnf install net-tools        #for Fedora
$ sudo zypper install net-tools     #for openSUSE

Můžete jej použít s grep příkaz k vyhledání procesu nebo služby naslouchající na konkrétním portu v Linuxu jako u níže uvedeného příkazu:

$ netstat -ultnp | grep -w ':80' 

Ve výše uvedeném příkazu jsou příznaky.

  • l – řekne netstatu, aby zobrazoval pouze naslouchající zásuvky.
  • p – umožňuje zobrazení ID procesu a názvu procesu.
  • n – přikáže mu zobrazit číselné adresy.
  • t – říká, že má zobrazit připojení TCP.
  • grep -w – zobrazuje shodu přesného řetězce (:80).

3. Použití příkazu fixační jednotky

fixační jednotka příkaz zobrazuje PID procesů používajících zadané soubory nebo systémy souborů.

Můžete jej nainstalovat pomocí:

$ sudo apt-get install psmisc     #for Debian, Ubuntu and Mint
$ sudo yum install psmisc         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/psmisc  #for Gentoo Linux
$ sudo pacman -S psmisc           #for Arch Linux
$ sudo zypper install psmisc      #for OpenSUSE  

Proces/službu naslouchající na konkrétním portu můžete najít spuštěním příkazu:

[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]#

Chcete-li najít název procesu pomocí čísla PID pomocí příkazu ps :

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=
[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]# ps -p 12289 -o comm=
httpd
[root@unixcop ~]# ps -p 24040 -o comm=
httpd
[root@unixcop ~]

Závěr

V této příručce znáte nejlepší způsoby, jak najít proces/službu naslouchající na konkrétním portu v Linuxu.


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

  2. Jaký souborový systém je nejlepší zálohovat?

  3. Jak mohu znát absolutní cestu běžícího procesu?

  1. Linux – Nalezení PID procesu pomocí konkrétního portu?

  2. Jak mohu vědět, který proces používá swap?

  3. Nalezení PID procesu pomocí konkrétního portu?

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

  2. 6 nejlepších způsobů, jak zobrazit soubory v Linuxu

  3. Jak zjistit, která služba poslouchá na konkrétním portu