Saltar al contenido

Cómo cerrar los puertos TCP y UDP a través de la línea de comandos de Windows

Solución:

  1. abierto cmd

    • escribir netstat -a -n -o

    • encontrar TCP [the IP address]:[port number] .... #[target_PID]# (lo mismo para UDP)

    • (Por cierto, kill [target_PID] no funcionó para mí)

  2. CTRL + ALT + SUPR y elija “iniciar administrador de tareas”

    • Haga clic en la pestaña “Procesos”

    • Habilite la columna “PID” yendo a: Ver> Seleccionar columnas> Marque la casilla de PID

    • Busque el PID de interés y “FIN DE PROCESO”

  3. Ahora puede volver a ejecutar el servidor en [the IP address]:[port number] sin problema

Por ejemplo, desea liberar el puerto 8080. Luego, siga estos comandos.

 netstat -ano
 taskkill /f /im [PID of the port 8080 got from previous command]

¡Hecho!

Si, esto es posible. No es necesario que el proceso actual sea el propietario del socket para cerrarlo. Considere por un momento que la máquina remota, la tarjeta de red, el cable de red y su sistema operativo pueden hacer que el enchufe se cierre.

Considere también que el software Fiddler y Desktop VPN pueden insertarse en la pila de red y mostrarle todo su tráfico o desviar todo su tráfico.

Entonces, todo lo que realmente necesita es que Windows proporcione una API que permita esto directamente, o que alguien haya escrito un programa que funcione como una VPN o Fiddler y le brinde una forma de cerrar los sockets que lo atraviesan.

Hay al menos un programa (CurrPorts) que hace exactamente esto y lo usé hoy con el propósito de cerrar sockets específicos en un proceso que se inició antes de que se iniciara CurrPorts. Para hacer esto debes ejecutarlo como administrador, por supuesto.

Tenga en cuenta que probablemente no sea posible hacer que un programa no escuche en un puerto (bueno, es posible, pero esa capacidad se conoce como firewall …), pero no creo que eso se haya preguntado aquí. Creo que la pregunta es “¿cómo cierro selectivamente una conexión activa (socket) al puerto en el que está escuchando mi programa?”. La redacción de la pregunta está un poco fuera de lugar porque se proporciona un número de puerto para la conexión de cliente entrante no deseada y se denomina “puerto”, pero está bastante claro que era una referencia a ese socket y no al puerto de escucha.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *