¿Cómo puedo averiguar qué programa e ID de proceso accede a una determinada dirección IP en Windows?

19

¿Es posible detectar qué programa está accediendo a una dirección IP específica?

Descubrí que mi computadora se está inundando y deseo verificar las direcciones una por una.

¿Puede ser posible configurar alguna auditoría para esto?

Dims
fuente

Respuestas:

31

Solución TCPView

TCPView de SystemInternals mostrará "listados detallados de todos los puntos finales TCP y UDP en su sistema, incluidas las direcciones locales y remotas y el estado de las conexiones TCP".

TCPView es un programa de Windows que le mostrará listados detallados de todos los puntos finales TCP y UDP en su sistema, incluidas las direcciones locales y remotas y el estado de las conexiones TCP. En Windows Server 2008, Vista y XP, TCPView también informa el nombre del proceso que posee el punto final. TCPView proporciona un subconjunto más informativo y convenientemente presentado del programa Netstat que se incluye con Windows. La descarga de TCPView incluye Tcpvcon, una versión de línea de comandos con la misma funcionalidad.

ingrese la descripción de la imagen aquí

  • Asegúrese de tener "Resolver direcciones" sin marcar para obtener direcciones IP en lugar de nombres de dominio.

    ingrese la descripción de la imagen aquí

Puede ordenar los resultados por "Dirección remota" para encontrar la dirección IP que le interesa.

Ejemplo:

  • Esta captura de pantalla muestra la conexión de Firefox a stackoverflow.com.

    ingrese la descripción de la imagen aquí


Solución CurrPorts

CurrPorts de Nirsoft ofrece una funcionalidad muy similar.

CurrPorts es un software de monitoreo de red que muestra la lista de todos los puertos TCP / IP y UDP abiertos actualmente en su computadora local. Para cada puerto de la lista, también se muestra información sobre el proceso que abrió el puerto, incluido el nombre del proceso, la ruta completa del proceso, la información de la versión del proceso (nombre del producto, descripción del archivo, etc.), el tiempo que se creó el proceso y el usuario que lo creó.

ingrese la descripción de la imagen aquí

Ejemplo:

  • Esta captura de pantalla muestra la conexión de Firefox a stackoverflow.com.

    ingrese la descripción de la imagen aquí


¿Qué pasa si quiero registrar los resultados?

TcpLogView también de Nirsoft proporciona registro de conexiones TCP.

TcpLogView es una sencilla utilidad que monitorea las conexiones TCP abiertas en su sistema y agrega una nueva línea de registro cada vez que se abre o cierra una conexión TCP. Para cada línea de registro, se muestra la siguiente información: hora uniforme, tipo de evento (abrir, cerrar, escuchar), dirección local, dirección remota, nombre de host remoto, puerto local, puerto remoto, ID de proceso, nombre de proceso y la información del país de la IP remota (requiere descargar la IP al archivo del país por separado)

ingrese la descripción de la imagen aquí


Descargo de responsabilidad

No estoy afiliado a SystemInternals (parte de Microsoft) o Nirsoft de ninguna manera, solo soy un usuario final de sus utilidades (gratuitas).

DavidPostill
fuente
Me temo que es imposible atrapar pocos paquetes de esta manera, ya que está desapareciendo rápidamente. Necesito iniciar sesión
atenúa
Imagina que deseo atrapar a quién está enviando paquetes 88.221.132.207. ¿Cómo ver eso? Esta aplicación incluso no tiene capacidades de búsqueda o filtrado. Es decir, incluso no podré atraparlo a simple vista si está desapareciendo rápidamente.
atenúa
1
Entonces probablemente necesites un sniffer de paquetes como Wireshark
DavidPostill
1
Wiresharkno muestra la identificación del proceso. Necesito saber (1) proceso (2) IP; ambos
Dims
66
@Dims Use TCPLogView también de Nirsoft. Respuesta actualizada
DavidPostill
8

En Windows 7/8 * / 10 puede usar el Monitor de recursos -> Pestaña Red.

La forma más fácil de abrir el monitor de recursos es:

  • Abra el Administrador de tareas (barra de tareas derecha -> Iniciar el Administrador de tareas)
  • Haga clic en la pestaña Rendimiento
  • Haga clic en el botón Monitor de recursos

Monitor de recursos -> Red

* = sin confirmar

Salman A
fuente
2

Puede lograr esto sin descargar herramientas adicionales desde un shell de comandos de administrador también.

Ejecute un shell de comando de administrador:

  • Presiona el botón de inicio
  • Escribe "cmd"
  • Presione Ctrl + Shift + Enter

Ingrese el comando: netstat -tabn

Los interruptores significan lo siguiente:

  • -t Muestra el estado actual de descarga de la conexión.
    • es decir. ESTABLECIDO, ESCUCHANDO, TIME_WAIT
  • -a Muestra todas las conexiones y puertos de escucha.
  • -b Muestra el ejecutable involucrado en la creación de cada conexión o puerto de escucha. En algunos casos, los ejecutables conocidos albergan múltiples componentes independientes, y en estos casos se muestra la secuencia de componentes involucrados en la creación de la conexión o el puerto de escucha. En este caso, el archivo ejecutable 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 llevar mucho tiempo y fallará a menos que tenga permisos suficientes.
  • -n Muestra direcciones y números de puerto en forma numérica.

Es cierto que esto no es tan sofisticado como el resultado logrado por las muchas opciones de GUI, pero está presente y disponible sin descargar herramientas adicionales. También funciona en Linux con conmutadores ligeramente diferentes.

antik
fuente
1

Como dijo Antik, puede usar netstat desde un símbolo del sistema de administración. Sin embargo, sugeriría que use en olugar de besa manera, la salida estará en una línea para una entrada y puede filtrarla aún más con find. No tendrá el nombre del proceso, pero la identificación del proceso:

P.ej

netstat -aon | find ":80"

muestra todas las conexiones utilizando el puerto 80 (local o remotamente)

Luego puede verificar ese proceso en el Administrador de tareas o hacer otro filtro en el símbolo del sistema, esta vez usando la lista de tareas:

tasklist | find "1100"

o

tasklist /FI "PID eq 1100"
Razvan Popa
fuente