Portmon para Windows v3.03

Por Mark Russinvl

Publicado: 12 de enero de 2012

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

Introducción

Portmon es una utilidad que supervisa y muestra toda la actividad de puerto en serie y en paralelo en un sistema. Tiene funcionalidades avanzadas de filtrado y búsqueda que la convierten en una herramienta eficaz para explorar el funcionamiento de Windows, ver cómo usan los puertos las aplicaciones o realizar un seguimiento de los problemas en las configuraciones del sistema o de la aplicación.

Portmon 3.x

La versión 3.x de Portmon marca la introducción de una serie de características eficaces.

  • Supervisión remota: Capture el modo kernel o la salida de depuración win32 desde cualquier equipo al que se pueda acceder a través de TCP/IP, incluso a través de Internet. Puede supervisar varios equipos remotos simultáneamente. Portmon incluso instalará su propio software cliente si lo ejecuta en un sistema Windows NT/2K y captura desde otro sistema Windows NT/2K en el mismo entorno de red.
  • Listas de filtros más recientes:Portmon se ha ampliado con eficaces funcionalidades de filtrado y recuerda las selecciones de filtro más recientes, con una interfaz que facilita volver a seleccionarlas.
  • Copia del Portapapeles: Seleccione varias líneas en la ventana de salida y copie su contenido en el Portapapeles.
  • Destacando: Resalte la salida de depuración que coincida con el filtro de resaltado e incluso personalice los colores de resaltado.
  • Registro a archivo: Escriba la salida de depuración en un archivo mientras se captura.
  • Impresión: Imprima todo o parte de la salida de depuración capturada en una impresora.
  • Carga de un archivo:Portmon ahora se implementa como un archivo.

El archivo de ayuda en línea describe todas estas características, y mucho más, en detalle.

Captura de pantalla de PortMon

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 encontrarse en una unidad que no sea de red y debe tener privilegios administrativos. Se pueden usar menús, teclas de acceso rápido o botones de barra de herramientas para borrar la ventana, guardar los datos supervisados en un archivo, buscar salida, cambiar la fuente de la ventana, etc. La ayuda en línea describe todas las características de Portmon.

Portmon entiende todos los comandos de control de E/S de puerto en serie y paralelo (IOCTL) y los mostrará junto con información interesante sobre sus parámetros asociados. Para las solicitudes de lectura y escritura, Portmon muestra las primeras docenas de bytes del búfer, usando "." para representar caracteres no imprimibles. La opción de menú Mostrar hexadecimal permite alternar entre la salida hexadecimal ASCII y sin formato 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 asignaciones entre los nombres de dispositivo de puerto serie y paralelo y los nombres accesibles para 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 asociar 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, convierte el identificador que recibe de ZwCreateFile en 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 Portmon verá todas las solicitudes dirigidas al dispositivo de destino.

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

Cómo funciona: Windows 95 y 98

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

DescargarDownload Portmon(226 KB)

Ejecute ahora desde Sysinternals Live.