3 maneres de trobar quin procés Linux escolta en un port


Un port és una entitat lògica que representa un punt final de comunicació i s'associa a un procés o servei determinat en un sistema operatiu. En articles anteriors, vam explicar com esbrinar els ports remots accessibles mitjançant l'ordre Netcat.

En aquesta breu guia, mostrarem diferents maneres de trobar l'escolta del procés/servei en un port concret a Linux.

1. Utilitzant l'ordre netstat

L'ordre netstat (estadístiques de xarxa) s'utilitza per mostrar informació sobre connexions de xarxa, taules d'encaminament, estadístiques de la interfície i més enllà. Està disponible en tots els sistemes operatius semblants a Unix, inclòs Linux i també en el sistema operatiu Windows.

En cas que no el tingueu instal·lat per defecte, utilitzeu l'ordre següent per instal·lar-lo.

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

Un cop instal·lat, podeu utilitzar-lo amb l'ordre grep per trobar el procés o servei que escolta en un port concret a Linux de la següent manera (especifiqueu el port).

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

A l'ordre anterior, les banderes.

  • l: diu a netstat que només mostri els connectors d'escolta.
  • t: li indica que mostri connexions tcp.
  • n: li indica que mostri adreces numèriques.
  • p: permet mostrar l'ID del procés i el nom del procés.
  • grep -w: mostra la coincidència de la cadena exacta (:80).

Nota: l'ordre netstat està obsolet i substituït per l'ordre ss moderna a Linux.

2. Utilitzant l'ordre lsof

L'ordre lsof (Llista fitxers oberts) s'utilitza per llistar tots els fitxers oberts en un sistema Linux.

Per instal·lar-lo al vostre sistema, escriviu l'ordre següent.

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

Per trobar el procés/servei que escolta en un port concret, escriviu (especifiqueu el port).

$ lsof -i :80

3. Utilitzant l'ordre del fusor

L'ordre fuser mostra els PID dels processos que utilitzen els fitxers o sistemes de fitxers especificats a Linux.

Podeu instal·lar-lo de la següent manera:

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

Podeu trobar el procés/servei escoltant en un port concret executant l'ordre següent (especifiqueu el port).

$ fuser 80/tcp

A continuació, cerqueu el nom del procés mitjançant el número PID amb l'ordre ps així.

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=

També podeu consultar aquestes guies útils sobre processos a Linux.

  • Tot el que necessites saber sobre els processos a Linux [Guia completa]
  • Limita l'ús de la CPU d'un procés a Linux amb l'eina CPULimit
  • Com trobar i matar processos en execució a Linux
  • Cerca els processos que s'executen amb major ús de memòria i CPU a Linux

Això és tot! Coneixeu altres maneres de trobar el procés/servei que escolta en un port determinat a Linux, feu-nos-ho saber mitjançant el formulari de comentaris que hi ha a continuació.