Pregunta ¿Cómo puede averiguar qué proceso está escuchando en un puerto de Windows?


¿Cómo puede averiguar qué proceso está escuchando en un puerto de Windows?


1485
2017-09-07 06:26


origen


Respuestas:


C:\> netstat -a -b

(añadir -norte para detenerlo tratando de resolver nombres de host, lo que hará que sea mucho más rápido)

Tenga en cuenta la recomendación de Dane para TCPView. ¡Parece muy útil!

-un  Muestra todas las conexiones y puertos de escucha.

-segundo  Muestra el ejecutable involucrado en la creación de cada conexión o         puerto de escucha En algunos casos, los ejecutables conocidos host         múltiples componentes independientes, y en estos casos el         secuencia de componentes involucrados en la creación de la conexión         o se muestra el puerto de escucha. En este caso, el ejecutable         nombre está en [] en la parte inferior, en la parte superior está el componente al que llamó,         y así sucesivamente hasta que se alcanzó TCP / IP. Tenga en cuenta que esta opción         puede consumir mucho tiempo y fallará a menos que tenga suficiente         permisos

-norte  Muestra direcciones y números de puertos en forma numérica.

-o  Muestra el ID del proceso de propiedad asociado con cada conexión.


1665
2017-09-07 06:28



Hay una GUI nativa para Windows:

  • Inicio >> Todos los programas >> Accesorios >> Herramientas del sistema >> Monitor de recursos

o correr  resmon.exe, o desde Administrador de tareas pestaña de rendimiento

enter image description here


1606
2018-05-18 05:02



Utilizar TCPView si quieres una GUI para esto. Es la antigua aplicación Sysinternals que Microsoft compró.


176
2017-09-07 06:38



netstat -aon | find /i "listening"

126
2017-09-07 06:32



Puede obtener más información si ejecuta el siguiente comando:

netstat -aon |find /i "listening" |find "port"

usar el comando 'Encontrar' te permite filtrar los resultados. find / i "listening" mostrará solo los puertos que están "escuchando". Tenga en cuenta que necesita el / i para ignorar el caso; de lo contrario, escribiría "ESCUCHAR". | encontrar "puerto" limitará los resultados a solo aquellos que contienen el número de puerto específico. Tenga en cuenta que en esto también filtrará los resultados que tienen el número de puerto en cualquier lugar de la cadena de respuesta.


61
2017-10-08 18:56



  1. Abra una ventana del símbolo del sistema (como Administrador) Desde "Inicio \ Cuadro de búsqueda" Ingrese "cmd", luego haga clic derecho en "cmd.exe" y seleccione "Ejecutar como administrador"

  2. Ingrese el siguiente texto y luego presione Enter.

    netstat -abno

    -un          Muestra todas las conexiones y puertos de escucha.

    -segundo          Muestra el ejecutable involucrado en la creación de cada conexión o             puerto de escucha En algunos casos, los ejecutables conocidos host             múltiples componentes independientes, y en estos casos el             secuencia de componentes involucrados en la creación de la conexión             o se muestra el puerto de escucha. En este caso, el ejecutable             nombre está en [] en la parte inferior, en la parte superior está el componente al que llamó,             y así sucesivamente hasta que se alcanzó TCP / IP. Tenga en cuenta que esta opción             puede consumir mucho tiempo y fallará a menos que tenga suficiente             permisos

    -norte          Muestra direcciones y números de puertos en forma numérica.

    -o          Muestra el ID del proceso de propiedad asociado con cada conexión.

  3. Encuentre el puerto que está escuchando en "Dirección local"

  4. Mire el nombre del proceso directamente debajo de eso.

NOTA: para encontrar el proceso bajo el Administrador de tareas

  1. Tenga en cuenta el PID (identificador de proceso) al lado del puerto que está mirando.

  2. Abra el Administrador de tareas de Windows.

  3. Seleccione la pestaña Procesos.

  4. Busque el PID que anotó cuando hizo el netstat en el paso 1.

    • Si no ve una columna PID, haga clic en Ver / Seleccionar columnas. Seleccione PID.

    • Asegúrese de que esté seleccionado "Mostrar procesos de todos los usuarios".


59
2017-11-08 01:49



Obtener PID y nombre de imagen

Use solo un comando:

for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /FI "PID eq %a"

dónde 9000 debe ser reemplazado por su número de puerto.

los salida contendrá algo como esto:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
java.exe                      5312 Services                   0    130,768 K

Explicación:

  • itera a través de cada línea desde la salida del siguiente comando:

    netstat -aon | findstr 9000
    
  • de cada línea, el PID (%a - el nombre no es importante aquí) se extrae (PID es el 5th elemento en esa línea) y pasó al siguiente comando

    tasklist /FI "PID eq 5312"
    

Si quieres omitir el encabezamiento y el regreso de la símbolo del sistema, puedes usar:

echo off & (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /NH /FI "PID eq %a") & echo on

Salida:

java.exe                      5312 Services                   0    130,768 K

42
2018-02-10 10:17