Portmon para Windows v3.03

Por Mark Russinovich

Publicado: 12 de janeiro de 2012

DownloadBaixar Portmon(226 KB)
Corra agora da Sysinternals Live.

Introdução

Portmon é um utilitário que monitoriza e exibe toda a atividade portuária em série e paralela num sistema. Possui capacidades avançadas de filtragem e pesquisa que a tornam uma ferramenta poderosa para explorar a forma como Windows funciona, ver como as aplicações usam portas ou rastrear problemas nas configurações do sistema ou aplicação.

Portmon 3.x

A versão 3.x de Portmon marca a introdução de uma série de características poderosas.

  • Monitorização remota: Capture a saída do kernel-mode e/ou Win32 depurador de qualquer computador acessível via TCP/IP - mesmo em toda a Internet. Pode monitorizar vários computadores remotos simultaneamente. A Portmon irá mesmo instalar o seu software cliente se estiver a executá-lo num sistema NT/2K Windows e estiver a capturar de outro sistema NT/2K Windows no mesmo Bairro de Rede.
  • Listas de filtros mais recentes:Portmon foi estendido com poderosas capacidades de filtragem e lembra-se das suas mais recentes seleções de filtros, com uma interface que facilita a sua reselecção.
  • Cópia da prancheta: Selecione várias linhas na janela de saída e copie o seu conteúdo para a área de transferência.
  • Destaque: Realce a saída de depuração que corresponde ao seu filtro de realce e até personalize as cores de destaque.
  • Log-to-file: Escreva a saída de depurg para um ficheiro como sendo capturado.
  • Impressão: Imprima a totalidade ou parte da saída de depuro capturada para uma impressora.
  • Carga útil de um ficheiro:Portmon é agora implementado como um ficheiro.

O ficheiro de ajuda on-line descreve todas estas funcionalidades, e muito mais, em detalhe.

PortMon screenshot

Instalação e Utilização

Basta executar o ficheiro do programa Portmon (portmon.exe) e Portmon começará imediatamente a capturar a saída do depurg. Para executar Portmon em Windows 95, tem de obter a atualização WinSock2 da Microsoft. Note que se executar Portmon em Windows portmon.exe NT/2K deve estar localizado numa unidade não rede e deve ter privilégio administrativo. Menus, teclas quentes ou botões de barra de ferramentas podem ser usados para limpar a janela, guardar os dados monitorizados para um ficheiro, saída de pesquisa, alterar o tipo de letra da janela, e muito mais. A ajuda on-line descreve todas as características de Portmon.

Portmon compreende todos os comandos de controlo de E/S de porta paralela (IOCTLs) em série e paralelo e exibi-los-á juntamente com informações interessantes sobre os seus parâmetros associados. Para pedidos de leitura e escrita, Portmon exibe as primeiras dezenas de bytes do tampão, utilizando '.' para representar caracteres não imprimíveis. A opção do menu Show Hex permite alternar entre as saídas de hexa e hexa de tampão.

Como Funciona: WinNT

O Portmon GUI é responsável pela identificação de portas em série e paralelas. Fá-lo enumerando as portas em série que são configuradas sob HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm e as portas paralelas definidas sob HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. Estas teclas contêm os mapeamentos entre nomes de dispositivos porta em série e paralelos e os nomes acessíveis ao Win32.

Quando seleciona uma porta para monitorizar, a Portmon envia um pedido ao seu controlador de dispositivo que inclui o nome NT (por exemplo, \dispositivo\serial0) em que está interessado. O controlador utiliza APIs de filtragem padrão para fixar o seu próprio objeto de filtro ao objeto do dispositivo alvo. Primeiro, utiliza o ZwCreateFile para abrir o dispositivo alvo. Em seguida, traduz a pega que recebe de volta do ZwCreateFile para um ponteiro de objetos de dispositivo. Depois de criar o seu próprio objeto de dispositivo de filtro que corresponda às características do alvo, o controlador chama IoAttachDeviceByPointer para estabelecer o filtro. A partir daí, o controlador Portmon verá todos os pedidos destinados ao dispositivo alvo.

A Portmon tem conhecimentos integrados de todos os IOCTLs portais em série e paralelos, que são a principal forma de configurar e ler informações sobre o estado dos portos. Os IOCTLs são definidos no ficheiro DDK \ddk\src\comm\inc\ntddser.h e \ddk\src\comm\inc\ntddpar.h, e alguns estão documentados no DDK.

Como Funciona: Windows 95 e 98

Nos Windows 95 e 98, o Portmon GUI conta com um VxD dinâmico para capturar atividades em série e paralelas. O Windows controlador de dispositivos VCOMM (Comunicações Virtuais) serve de interface a dispositivos paralelos e em série, pelo que as aplicações que acedem às portas utilizam indiretamente os seus serviços. O Portmon VxD utiliza uma ligação de serviço VxD padrão para intercetar todos os acessos às funções da VCOMM. Tal como o seu controlador de dispositivo NT, o VxD da Portmoninterpreta os pedidos para os exibir num formato amigável. No Windows 95 e 98 Portmon monitoriza todos os portos para que não haja uma seleção portuária como no NT.

DownloadBaixar Portmon(226 KB)

Corra agora da Sysinternals Live.