GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cerrar puertos abiertos manualmente en ubuntu

Puertos abiertos

Cuando se realiza una gran cantidad de programación de sockets, a menudo sucede que un programa de servidor, cuando se vuelve a compilar/ejecutar, no se vincula a un número de puerto en particular porque ese número de puerto ya está en uso.

Para cerrar el número de puerto manualmente, primero se debe encontrar el nombre/id del proceso que mantiene abierto el puerto y luego usar el comando de eliminación en ese proceso.

lsof

$ lsof -i :8888
COMMAND  PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    8461 enlightened   11u  IPv6 138527      0t0  UDP *:8888

En el ejemplo anterior, se ve que el puerto 8888 está siendo utilizado por el comando java con pid 8461.
Ahora elimine el proceso realizando cualquiera de las siguientes acciones

$ kill 8461
$ killall -9 8461
$ killall -9 java

netstat

El comando netstat también se puede usar para averiguar qué proceso tiene un determinado número de puerto

$ netstat -u -ap
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 *:18347                 *:*                                 -
udp        0      0 localhost:11211         *:*                                 -
udp        0      0 localhost:36254         localhost:36254         ESTABLISHED -
udp        0      0 localhost:domain        *:*                                 -
udp        0      0 *:ipp                   *:*                                 -
udp        0      0 *:42038                 *:*                                 -
udp        0      0 *:17500                 *:*                                 4090/dropbox
udp        0      0 *:mdns                  *:*                                 -
udp        0      0 localhost:58797         localhost:7777          ESTABLISHED 9831/ncat
udp        0      0 localhost:42724         localhost:domain        ESTABLISHED -
udp6       0      0 [::]:46282              [::]:*                              -
udp6       0      0 [::]:mdns               [::]:*                              -
udp6       0      0 [::]:9999               [::]:*                              11598/java

El puerto que queremos cerrar aquí es 9999. Y netstat muestra que pid =11598 y command name =java
Aquí usamos -u para el puerto udp. Si es un puerto tcp, entonces no se necesita el conmutador u.

$ sudo netstat -ap | grep :9050
tcp        0      0 localhost:9050          *:*                     LISTEN      1613/tor

Una vez que se encuentra el id/nombre del proceso, termínelo con el comando matar.

$ kill 11598

fusor

El comando fuser también se puede usar para averiguar el pid del programa. La sintaxis es

fuser -k -n protocol portno

Ejemplo rápido

$ fuser -k -n udp 7777
7777/udp:            11774

Ubuntu
  1. Guía para abrir puertos en CentOS

  2. Abrir un puerto en Ubuntu 20.04 - ¿Guía paso a paso?

  3. ¿Cómo cerrar puertos en Linux?

  4. Cómo abrir puertos en Ubuntu y CentOS usando IPtables

  5. Cómo abrir AppImage en Ubuntu

Cómo instalar Open Visual Traceroute en Ubuntu 16.04

Cómo abrir un puerto en Ubuntu 20.04

Cómo encontrar y cerrar puertos abiertos en Linux

Cómo abrir la terminal en Ubuntu Linux

Cómo abrir o cerrar puertos en AlmaLinux 8 o Rocky Firewall

¿Cómo abrir múltiples terminales?