GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo saber qué proceso tiene abierto un puerto específico en Linux?

Solución 1:

Además de Netstat, mencionado en otras publicaciones, el comando lsof debería poder hacer esto sin problemas. Solo usa esto:

lsof -i :<port number>

y todos los procesos deberían aparecer. Lo uso en OS X con bastante frecuencia.

Artículo de administración de Debian para lsof

Solución 2:

Advertencia:Su sistema está comprometido.

La herramienta que necesitas es lsof , que mostrará una lista de archivos (y sockets y puertos). Lo más probable es que esté instalado y que sea la versión del atacante, lo que significa que mentirá para ti.

Esto es de hecho un rootkit. He visto este comportamiento antes, y es siempre un rootkit. Su sistema está comprometido y no se puede confiar en las herramientas que está utilizando que se originan en la misma máquina. Inicie un Live CD (que tiene archivos binarios confiables de solo lectura) y utilícelo para extraer sus datos, configuraciones, etc. Cualquier programa que haya tenido, cualquier script que haya tenido, abandone . No los traigas . Trátelos a ellos y al sistema como si tuvieran lepra, porque la tienen .

Una vez que hayas terminado, bombardealo desde la órbita.

Haz esto lo antes posible. Ah, y desconecte su conexión de red:deniegue el acceso a su atacante.

Solución 3:

sudo netstat -lnp  

Enumera los puertos que están escuchando conexiones entrantes y el proceso asociado que tiene el puerto abierto.

Solución 4:

netstat-anp

El "-p" le dice que enumere el ID de proceso que tiene el puerto abierto. El -an le dice que enumere los puertos de escucha y no resuelva los nombres. En sistemas ocupados que pueden acelerar en gran medida la rapidez con la que regresa.

netstat-anp | grep "LISTA"

Eso solo te dará los puertos abiertos.

Solución 5:

Si no puede ver el puerto abierto con las herramientas del sistema operativo y sospecha que se trata de una intrusión, es posible que se haya instalado un rootkit.

El rootkit podría haber cambiado las herramientas del sistema para evitar ciertos procesos y puertos o haber cambiado los módulos del kernel.

Puede buscar rootkit con varias herramientas automatizadas. 'apt-cache search rootkit' muestra lo siguiente en Ubuntu:

chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports

Si tiene un rootkit, puede revertir el 'cambio' en su sistema, pero le recomiendo que averigüe cómo se realizó la intrusión y endurezca el sistema para que no se repita.

No son exclusivos de Ubuntu, también puedes usarlos en CentOS. Simplemente busque el paquete o descárguelo de su página.

Según la salida de ese puerto, parece que está ejecutando pcanywhere:"�Ы� " es muy similar a "Por favor, presione ", que es el mensaje de bienvenida de pcanywhere. No sé por qué el proceso no aparece en la lista de procesos. ¿Eres root?

Puede intentar reiniciar para ver si también se está ejecutando un proceso de una sola vez.


Linux
  1. ¿Cómo averiguo qué proceso tiene un bloqueo en un archivo en Linux?

  2. ¿Cómo matar un proceso que se ejecuta en un puerto particular en Linux?

  3. Cómo abrir puerto en Linux

  4. ¿Cómo puedo determinar qué proceso tiene un archivo abierto en Linux?

  5. Cómo aprender las partes internas del sistema Linux

Cómo comprobar que un puerto está abierto en un sistema Linux remoto

Cómo encontrar y cerrar puertos abiertos en Linux

Cómo usar Netcat para escanear puertos abiertos en Linux

Cómo matar el proceso de ejecución de Linux en un puerto particular

Cómo saber si su sistema tiene un puerto USB 3.0 en Linux [Consejo rápido]

Cómo rastrear y rastrear un proceso de Linux