Buscar

Windows: Eliminar conexiones activas tcp

Como ya sabemos, con la herramienta netstat (integrada en cualquier versión de sistema operativo), tenemos la posibilidad de listar todas las conexiones activas en el equipo y ver su estado.

En ocasiones, queremos eliminar una conexión: Para ello deberíamos determinar que aplicación/proceso está realizando la conexión y proceder cerrar o detener la aplicación.

Veamos un ejemplo:

Windows: Eliminar conexiones activas tcp

Explicación:

ftp ftp.rediris.es

Establece una conexión al puerto 21 del servidor ftp.rediris.es

____________________________________

netstat -nao |find /i ":21"

Netstat lista las conexiones activas en el equipo.

El parámetro -n, muestra en formato numérico.

El parámetro -a, muestra todas las conexiones. 

El parámetro -o muestra el número de proceso

La salida de netstat es pasada con una pipe al comando find, que filtra el texto. 

Al comando find le pasamos como parámetros: /i, para ignorar mayúsculas y minúsculas y la cadena a buscar ":21", es decir, el puerto 21, de FTP. 

____________________________________

tasklist /fi "PID eq 3428"

tasklist, muestra los procesos activos, el equivalente GUI de este comando, seria el administrador de tareas (taskmgr.exe). 

Al comando tasklist le pasamos el parámetro /fi, para realizar un filtrado de la salida e indicamos que el tipo de filtrado es utilizado el PID (identificador de proceso). Le indicamos el PID del proceso obtenido por el comando anterior.

____________________________________

taskkill /PID 3428 /F

Para eliminar el proceso, podríamos hacerlo utilizando el administrador de tareas (taskmgr.exe) o bien el comando taskkill, indicando el PID y si queremos forzar su cierre, el parámetro /F
____________________________________

Otra forma de eliminar las conexiones activas es utilizando la utilidad gratuita wKillcx.

Podemos descargar esta utilidad en el siguiente enlace:


Veamos su funcionamiento con un ejemplo:

Windows: Eliminar conexiones activas tcp

Tal y como vemos en el ejemplo, con la utilidad wKillcx.exe, basta con indicar la dirección IP y puerto obtenido con netstat para eliminar la conexión.

Esta utilidad funciona perfectamente bajo Windows 8.1 o Windows Server 2012 R2 o versiones inferiores de sistema operativo.

7 comentarios:

  1. Hola me llamo Sergio y estuve aplicando lo del ejemplo, pero no lo puedo ejecutar. Realizo el primer paso y me devuelve tal cual como el ejemplo, luego como dice usuario none, le doy enter y me devuelve contraseña "any password will work" le doy enter nuevamente, debido que no le puedo esdribir nada. Y me devuelve ftp> y le ponga lo que le ponga me indica error. Y no puedo seguir con el resto de los comandos.

    ResponderEliminar
    Respuestas
    1. Hola Sergio, gracias por participar el en blog!

      Sobre tu duda acerca de los ejemplos de uso: La idea es abrir dos ventanas de CMD.

      En primera ventana de CMD la idea es ejecutar una conexión ftp a un servidor ftp, no hace falta hacer nada mas.

      En la segunda ventana de CMD, con el comando netstat, podemos ver como se ha establecido una conexión al servidor remoto al puerto 21.

      A continuación y desde esta segunda ventana de CMD, con el comando taskkill o bien con la herramienta wKillcx.exe, podemos eliminar la conexión.

      La diferencia entre taskkill y wKillcx es que taskkill requiere el número de proceso, mientras que wKillcx solo los datos de la conexión: IP y puerto. Taskkill está incorporado en el Windows mientras que wKillcx no.

      Un saludo!

      Eliminar
  2. Sergio:
    ¿Como se cuales conexiones ESTABLISHED deobo eliminar, ya que tengo entendido que éstas disminuyen el rendimiento de mi red en Mbps? Gracias

    ResponderEliminar
  3. Usen:
    https://docs.microsoft.com/es-es/sysinternals/downloads/tcpview

    Es mas sencillo

    ResponderEliminar
  4. Hola Sysadmit, yo he intentado meter en el cmd esto: netstat -nao |find /i ":21"
    pero en vez de salirme las stablised me salen las listening sabrias decirme cual es el error? gracias
    Otra cosa, para que sirve este comando? ftp ftp.rediris.es

    Establece una conexión al puerto 21 del servidor ftp.rediris.es
    Gracias

    ResponderEliminar
    Respuestas
    1. Hola,

      Si tras ejecutar el comando te salen solo "listening" y no "established" significa que no tienes conexiones establecidas con otro equipo.

      El comando ftp sirve para realizar conexiones FTP.

      Un saludo,

      Xavi.

      Eliminar