¿Qué puerto utiliza un programa determinado? [cerrado]


99

Quiero poder averiguar qué puerto está usando un programa en particular. ¿Hay algún programa disponible en línea o que venga con Windows que me diga qué procesos están usando qué puertos en mi computadora?

PD: antes de que reduzca esto por no ser una cuestión de programación, estoy buscando el programa para probar algún código de red.


7
Independientemente de si va a usar esto como parte de algún proyecto de programación, no es un problema de programación.
Lightness Races in Orbit

Respuestas:


149

netstat -b -aenumera los puertos en uso y le da el ejecutable que está usando cada uno. Creo que debe estar en el grupo de administradores para hacer esto, y no sé qué implicaciones de seguridad hay en Vista.

Por lo general, también agrego -npara hacerlo un poco más rápido, pero agregar -bpuede hacerlo bastante lento.

Editar : si necesita más funcionalidad de la que proporciona netstat, vasac sugiere que pruebe TCPView .


1
Si alguien tiene los derechos para editar una respuesta, considere agregar la respuesta de vasac a continuación (TCPView) para cualquiera que necesite una versión más completa de esto con una interfaz
gráfica de usuario

Agregué el enlace a TCPView a mi respuesta.
Graeme Perrow

1
¿Hay alguna forma con el firewall?
Mohammad Kermani

42

TCPView puede hacer lo que solicitó.


1
Gracias; netstat es más que suficiente para mis necesidades, pero si alguna vez necesito algo más duro, me aseguraré de usar TCPView. Debería agregarse a la respuesta aceptada, pero lamentablemente aún no tengo derecho a editar.
AlexeyMK

He estado usando la utilidad Netstat que viene con XAMPP. Pero esta utilidad independiente es muy útil. Gracias.
Shiyaz

25

En Vista, necesita privilegios elevados para usar la opción -b con netstat. Para evitarlo, puede ejecutar "netstat -ano", que mostrará todos los puertos abiertos junto con la identificación del proceso asociado. Luego, puede usar la lista de tareas para buscar qué proceso tiene la identificación correspondiente.

C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    [::]:49335             [::]:0                 LISTENING       1056
  ...

C:\>tasklist /fi "pid eq 1056"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe                  1056 Services                   0     66,192 K

13

Es posible que ya tenga instalado Process Explorer (de Sysinternals, ahora parte de Microsoft). Si no es así, instálelo ahora, es así de genial.

En Process Explorer: localice el proceso en cuestión, haga clic con el botón derecho y seleccione la pestaña TCP / IP. Incluso le mostrará, para cada socket, un seguimiento de pila que representa el código que abrió ese socket.


7

Si prefiere una interfaz GUI, CurrPorts es gratuito y funciona con todas las versiones de Windows. Muestra puertos y qué proceso los tiene abiertos.


otra buena alternativa. wow, no sabía que este era un tema tan popular :)
AlexeyMK


4

Windows 8 (y probablemente 7 + Vista) también proporcionan una vista en Resource Monitor. Si selecciona la pestaña Red, hay una sección llamada 'Puertos de escucha'. Puede ordenar por número de puerto y ver qué proceso lo está utilizando.


exactamente lo que necesitaba, ¡10x!
soninob



1

Puede usar el comando 'netstat' para esto. Hay una descripción de hacer este tipo de cosas aquí .



-1

la mayoría de los programas de firewall decentes deberían permitirle acceder a esta información. Sé que Agnitum OutpostPro Firewall lo hace.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.