Portmon para Windows v3.03

Por Mark Russinovich

Publicado: 12 de enero de 2012

DownloadDescargar Portmon(226 KB)
Ejecute ahora desde Sysinternals Live.

Introducción

Portmon es una utilidad que supervisa y muestra toda la actividad de los puertos serie y paralelo de un sistema. Cuenta con funciones avanzadas de filtrado y búsqueda que la convierten en una potente herramienta para explorar el funcionamiento de Windows, ver cómo las aplicaciones utilizan los puertos o realizar un seguimiento de problemas en las configuraciones del sistema o de las aplicaciones.

Portmon 3.x

La versión 3.x de Portmon introduce una serie de potentes características.

  • Supervisión remota: capture la salida de depuración en modo kernel y/o Win32 desde cualquier equipo accesible a través de TCP/IP (o incluso a través de Internet). Puede supervisar varios equipos remotos simultáneamente. Portmon incluso instalará su propio software cliente si lo está ejecutando en un sistema Windows NT/2K y está capturando desde otro sistema Windows NT/2K en el mismo entorno de red.
  • Listas de filtros más recientes:Portmon se ha ampliado con potentes funcionalidades de filtrado y recuerda sus selecciones de filtro más recientes, con una interfaz que facilita volver a realizar dichas selecciones.
  • Copia del Portapapeles: selecciona varias líneas en la ventana de salida y copia su contenido en el Portapapeles.
  • Resaltar: resalta la salida de depuración que coincide con el filtro de resaltado e incluso personaliza los colores de resaltado.
  • Registro en archivo: escribe la salida de depuración en un archivo a medida que se captura.
  • Impresión: imprime todo o parte de la salida de depuración capturada en una impresora.
  • Carga de un solo archivo:Portmon ahora se implementa como un archivo.

En el archivo de ayuda en línea se describen todas estas características, y mucho más, con detalle.

PortMon screenshot

Instalación y uso

Simplemente ejecute el archivo de programa Portmon (portmon.exe) y Portmon comenzará inmediatamente a capturar la salida de depuración. Para ejecutar Portmon en Windows 95, debe obtener la actualización WinSock2 de Microsoft. Tenga en cuenta que si ejecuta Portmon en Windows NT/2K portmon.exe debe estar ubicado en una unidad que no pertenezca a la red y debe tener privilegios administrativos. Se pueden utilizar menús, teclas de acceso rápido o botones de la barra de herramientas para borrar la ventana, guardar los datos supervisados en un archivo, buscar salidas, cambiar la fuente de la ventana, etc. La ayuda en línea describe todas las características de Portmon.

Portmon comprende todos los comandos de control de E/S (IOCTL) de puerto serie y paralelo y los mostrará junto con información interesante sobre sus parámetros asociados. En el caso de las solicitudes de lectura y escritura, Portmon muestra la primera docena de bytes del búfer, usando "." para representar caracteres no imprimibles. La opción de menú Mostrar hexadecimal permite alternar entre ASCII y la salida hexadecimal sin procesar de los datos del búfer.

Cómo funciona: WinNT

La GUI de Portmon es responsable de identificar los puertos serie y paralelo. Para ello, enumera los puertos serie configurados en HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm y los puertos paralelos definidos en HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. Estas claves contienen las correspondencias entre los nombres de los dispositivo de los puertos serie y paralelo y los nombres accesibles de Win32.

Al seleccionar un puerto para supervisar, Portmon envía una solicitud a su controlador de dispositivo que incluye el nombre NT (por ejemplo, \device\serial0) que le interesa. El controlador usa las API de filtrado estándar para adjuntar su propio objeto de dispositivo de filtro al objeto de dispositivo de destino. En primer lugar, usa ZwCreateFile para abrir el dispositivo de destino. A continuación, traduce el identificador que recibe de ZwCreateFile a un puntero de objeto de dispositivo. Después de crear su propio objeto de dispositivo de filtro que coincida con las características del destino, el controlador llama a IoAttachDeviceByPointer para establecer el filtro. A partir de ese momento, el controlador de Portmon verá todas las solicitudes dirigidas al dispositivo de destino.

Portmon tiene conocimientos integrados de todos los IOCTL de puertos serie y paralelo estándar, que son la forma principal en que las aplicaciones y los controladores configuran y leen la información de estado de los puertos. Los IOCTL se definen en el archivo de DDK \ddk\src\comm\inc\ntddser.h y \ddk\src\comm\inc\ntddpar.h, y algunos se documentan en DDK.

Cómo funciona: Windows 95 y 98

En Windows 95 y 98, la GUI de Portmon se basa en un VxD cargado dinámicamente para capturar la actividad serie y paralela. El controlador de dispositivo VCOMM (comunicaciones virtuales) de Windows actúa como interfaz para dispositivos paralelos y serie, por lo que las aplicaciones que acceden a los puertos usan indirectamente sus servicios. El VxD de Portmon usa el enlace de servicio de VxD estándar para interceptar todos los accesos a las funciones de VCOMM. Al igual que su controlador de dispositivo NT, el VxD de Portmon interpreta las solicitudes para mostrarlas en un formato descriptivo. En Windows 95 y 98 Portmon supervisa todos los puertos, por lo que no hay ninguna selección de puertos como en NT.

DownloadDescargar Portmon(226 KB)

Ejecute ahora desde Sysinternals Live.