Comprobar qué puertos están siendo usados y por quién

Transcripción

Comprobar qué puertos están siendo usados y por quién
ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509)
Puertos
MOD 1
Comprobar qué puertos están siendo usados y por quién
A continuación explicaremos cómo saber qué aplicación o servicio de Windows está usando un
puerto determinado, para ello usaremos el comando Windows: netstat. Para ello abriremos una
ventana de MS-DOS (consola de comandos o shell), desde el botón "Inicio", escribimos "cmd",
pulsamos con el botón derecho del ratón sobre "cmd.exe" y seleccionamos "Ejecutar como
administrador":
Ejecutaremos el siguiente comando Windows:
netstat –naob
Nos devolverá un listado de todos los puertos de comunicaciones que están siendo usados
actualmente con el protocolo (TCP, UDP, TCPv6 y UDPv6), dirección IP local, dirección IP remota,
estado y PID (número que identifica el proceso en las tareas que se están ejecutando):
Si queremos guardar el resultado en un fichero ejecutaremos el comando Windows:
netstat -naob > aplicaciones_puertos.txt
ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges
1
ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509)
Podemos crear un archivo (en el escritorio o donde queramos) que ejecute el comando netstat y
que redirija la salida a un archivo plano cada vez que necesitemos comprobar los puertos
abiertos. Lo único que tendremos que hacer es crear un documento de texto plano, escribir el
comando y guardarlo con la extensión .cmd
De esta forma tendremos un ejecutable (en el escritorio por ejemplo) que nos ahorra el estar
abriendo la consola (cmd) y escribir el comando en cuestión.
Con el comando Windows:
notepad aplicaciones_puertos.txt
Abriremos el Bloc de notas con el resultado del comando anterior, desde aquí podremos
consultar, buscar y guardar todas las aplicaciones que abren puertos de comunicaciones en
nuestro equipo:
ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges
2
ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509)
Puertos
MOD 1
Un ejemplo del resultado de este comando:
Conexiones activas
Proto Dirección local Dirección remota Estado PID
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING 2068
ftpsvc
[svchost.exe]
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
No se puede obtener informaci¢n de propiedad
TCP 0.0.0.0:111 0.0.0.0:0 LISTENING 3848
[VeeamNFSSvc.exe]
TCP 127.0.0.1:63924 127.0.0.1:63925 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:63925 127.0.0.1:63924 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:63926 127.0.0.1:63927 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:63927 127.0.0.1:63926 ESTABLISHED 7216
[firefox.exe]
TCP 127.0.0.1:64151 127.0.0.1:64152 ESTABLISHED 5436
[vmware-vmrc.exe]
TCP 127.0.0.1:64152 127.0.0.1:64151 ESTABLISHED 5436
[vmware-vmrc.exe]
En el caso en que no aparezca el ejecutable de la aplicación que está usando el puerto podremos
consultarlo de la siguiente forma:
1. Ejecutaremos el comando anterior con el parámetro "o" que nos mostrará el PID del proceso
que está abriendo el puerto, buscaremos el puerto del que queramos averiguar la aplicación o
servicio que lo está usando. En en el ejemplo buscamos qué aplicación está usando el puerto
"3306", anotaremos el PID de la aplicación que aparece al final de la línea (en el ejemplo "1320"):
2. Abriremos el Administrador de tareas desde el botón "Inicio" - "Panel de control" "Información
y herramientas de rendimiento":
ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges
3
ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509)
Pulsaremos en "Herramientas avanzadas":
Pulsaremos en "Abrir el Administrador de tareas":
ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges
4
ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509)
Puertos
MOD 1
Ahora mostraremos la columna "PID", para ello pulsaremos en el menú "Ver" - "Seleccionar
columnas":
Marcaremos "Identificador de proceso (PID)":
ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges
5
ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509)
Si queremos que nos muestre la ubicación del fichero ejecutable del proceso que usa el puerto
marcaremos también "Nombre de ruta de la imagen":
Buscaremos el PID consultado anteriormente correspondiente al ejecutable que está abriendo el
puerto, en nuestro caso "1320", así podremos consultar la ruta (carpeta) y ejecutable que lo está
usando:
Averiguar qué aplicación está usando un puerto de comunicaciones en
Linux
En el caso de sistemas operativos Linux podremos usar el siguiente comando Linux para obtener
los procesos y el puerto de comunicaciones que usan:
lsof -w -n –i
El comando Linux nos mostrará el proceso, el PID, el usuario, tipo, dispositivo, protocolo y estado
de la conexión:
ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges
6
ADMINISTRACIÓN DE SERVICIOS DE INTERNET (IFCT0509)
Puertos
MOD 1
Para obtener la aplicación que tiene un puerto abierto en Linux usaremos el comando Linux:
ls -l /proc/XXX/exe
Donde XXX será el PID del proceso a consultar.
Existen otros comandos Linux para obtener datos de los procesos que usan puertos de
comunicaciones como:
netstat -panut | grep LISTEN
O también:
ss -a | grep LISTEN
ADMINISTRACIÓN DE SERVICIOS DE INTERNET / Ezequiel Llarena Borges
7

Documentos relacionados