¿Cómo encontrar exe escuchando en el puerto?

10

Intento con netstat -ab -p tcp -n y entre los resultados obtengo:

  TCP    0.0.0.0:47001          0.0.0.0:0              LISTENING
Can not obtain ownership information

Me postulo como administrador y recibo ese mensaje. También descargué una utilidad para mostrar la actividad de red para los exe, pero nada abierto está escuchando en el puerto 47001 de acuerdo con la utilidad.

¿Cómo puedo saber qué está escuchando?

Jay White
fuente
¿Intentaste algo como Wireshark?
vvsraju
@vvsraju wireshark es conocido por (comprensiblemente) no mostrarte el EXE. Simplemente no se menciona en el paquete.
barlop

Respuestas:

11

Intente netstat -oobtener la identificación del proceso (PID) y luego use tasklist |findstr <pid>para ver el nombre y el tipo del proceso. El Administrador de tareas también muestra el PID y el nombre del proceso.

Puede combinar sus otros interruptores de la siguiente -omanera:netstat -bona -p tcp

barlop
fuente
No había mencionado -b porque netstat con -b puede ser útil, pero algunos problemas, A) requiere administrador priv, y B) toma tiempo para dar un resultado.
barlop
tasklist | findes un problema (por lo tanto, no se menciona antes de la edición), porque extrañamente por alguna razón, no siempre funciona. Lo que siempre funciona con la lista de tareas de filtrado es tasklist> a then type a |find(o, como algunos prefieren, encontrar el archivo de patrones: un comando).
barlop
A veces uso netstat -b con grep. netstat -abon | grep ":33" -A 1(el nombre del proceso aparece entre corchetes una línea después, a veces dos líneas después de -A 2. Uno puede olvidar y hacer grep -C 2 solo para obtener más información. O en un archivo (netstat -abon> a) luego grep, si Necesito grep más de una vez (ya que -b lo ralentiza). En cuanto a los modificadores útiles, puede hacer netstat -aonp tcp o incluso netstat -paon tcp cuando filtre para encontrar, entonces hay menos necesidad de -p tcp. Entonces netstat -aon | find ":1234"(para un puerto) o | busque "1234" para un PID.
barlop
4

Ya que habla de Windows, puede usar " netstat -b " para ver qué ejecutable está usando ese puerto.

Alternativamente, TCPVIew de Sysinternal hace lo mismo, pero de una manera mucho mejor.

ndrix
fuente
Él -bya está usando ; está adentro -ab. Además, la contracción de "eres" es "eres".
Cees Timmerman
1

http://www.iana.org/assignments/port-numbers enumera este puerto como: winrm 47001 / tcp Servicio de administración remota de Windows Ryan Mack rmack & microsoft.com 29 de abril de 2009

Ahora, eso no prueba que eso es lo que lo usa en su computadora, pero es una suposición bastante buena.

Jamie Cox
fuente
También lo vi, pero me gustaría estar seguro. Si es un servicio de Windows, ¿por qué netstat no puede obtener la información de propiedad?
Jay White
@JayWhite, creo que -bbusca una ruta, que el Systemservicio no tiene.
Cees Timmerman