¿Cómo puedo saber qué programa es responsable de un puerto abierto?

¿Cómo puedo saber qué programa es responsable de un puerto abierto?

Después de ejecutar el ss -ltuncomando en Ubuntu 18.04 me sale esto:

Netid        State          Recv-Q         Send-Q                  Local Address:Port                   Peer Address:Port         
udp          UNCONN         0              0                             0.0.0.0:55656                       0.0.0.0:*            
udp          UNCONN         0              0                             0.0.0.0:631                         0.0.0.0:*            
udp          UNCONN         0              0                             0.0.0.0:857                         0.0.0.0:*            
udp          UNCONN         0              0                             0.0.0.0:5353                        0.0.0.0:*            
udp          UNCONN         0              0                       127.0.0.53%lo:53                          0.0.0.0:*            
udp          UNCONN         0              0                             0.0.0.0:68                          0.0.0.0:*            
udp          UNCONN         0              0                             0.0.0.0:111                         0.0.0.0:*            
udp          UNCONN         0              0                                [::]:857                            [::]:*            
udp          UNCONN         0              0                                [::]:33678                          [::]:*            
udp          UNCONN         0              0                                [::]:5353                           [::]:*            
udp          UNCONN         0              0                                [::]:111                            [::]:*            
tcp          LISTEN         0              128                           0.0.0.0:111                         0.0.0.0:*            
tcp          LISTEN         0              128                     127.0.0.53%lo:53                          0.0.0.0:*            
tcp          LISTEN         0              5                           127.0.0.1:631                         0.0.0.0:*            
tcp          LISTEN         0              128                         127.0.0.1:9050                        0.0.0.0:*            
tcp          LISTEN         0              128                              [::]:111                            [::]:*            
tcp          LISTEN         0              5                               [::1]:631                            [::]:*  

Como ejemplo, no sé para qué se usa el puerto 111 y por qué está abierto, así que ejecuto esto:

$ grep 111 /etc/services
sunrpc      111/tcp     portmapper  # RPC 4.0 portmapper
sunrpc      111/udp     portmapper
dicom       11112/tcp
kx      2111/tcp            # X over Kerberos

Ahora sé que es para sunrpc, pero todavía no sé qué programa es responsable y cómo puedo cerrarlo (¿y debería cerrarlo?). En ejecución systemctl list-socketsse muestran algunas unidades pero no dice qué puerto(s) están administrando.

Respuesta1

Agregue la -popción a ss, enumerará los procesos que utilizan los puertos:

ss -ultnp

Para ver todos los procesos, deberá ejecutarlo como root:

sudo ss -ultnp

información relacionada