Ler em inglês

Partilhar via


Portmon v3,03

Por Mark Russinovich

Publicado em: 12 de janeiro de 2012

DownloadBaixar Portmon (226 KB)
Execute agora a partir do Sysinternals Live.

Introdução

Portmon é um utilitário que monitora e exibe toda a atividade de porta serial e paralela em um sistema. Ele tem recursos avançados de filtragem e pesquisa que o tornam uma ferramenta poderosa para explorar a maneira como o Windows funciona, ver como os aplicativos usam portas ou rastrear problemas nas configurações do sistema ou do aplicativo.

Portmon 3.x

A versão 3.x do Portmon marca a introdução de uma série de recursos poderosos.

  • Monitoramento remoto: capture a saída de depuração do modo kernel e/ou Win32 de qualquer computador acessível via TCP/IP - mesmo através da Internet. Você pode monitorar vários computadores remotos simultaneamente. Portmon irá até mesmo instalar seu software cliente se você estiver executando-o em um sistema Windows NT/2K e estiver capturando de outro sistema Windows NT/2K no mesmo ambiente de rede.
  • Listas de filtros mais recentes:O Portmon foi ampliado com poderosos recursos de filtragem e lembra suas seleções de filtros mais recentes, com uma interface que facilita a reseleção deles.
  • Cópia da área de transferência: selecione várias linhas na janela de saída e copie seu conteúdo para a área de transferência.
  • Realce: realce a saída de depuração que corresponde ao seu filtro de realce e até personalize as cores de realce.
  • Log-to-file: Escreva a saída de depuração em um arquivo enquanto ele está sendo capturado.
  • Impressão: imprima toda ou parte da saída de depuração capturada em uma impressora.
  • One-file payload:Portmon agora é implementado como um arquivo.

O ficheiro de ajuda em linha descreve todas estas funcionalidades e muito mais, em pormenor.

Captura de tela do PortMon

Instalação e Utilização

Basta executar o arquivo de programa Portmon (portmon.exe) e o Portmon começará imediatamente a capturar a saída de depuração. Para executar Portmon no Windows 95, você deve obter a atualização WinSock2 da Microsoft. Observe que, se você executar Portmon no Windows NT/2K portmon.exe deve estar localizado em uma unidade que não seja de rede e você deve ter privilégio administrativo. Menus, teclas de atalho ou botões da barra de ferramentas podem ser usados para limpar a janela, salvar os dados monitorados em um arquivo, saída de pesquisa, alterar a fonte da janela e muito mais. A ajuda on-line descreve todos os recursos do Portmon.

O Portmon entende todos os comandos de controle de E/S de porta serial e paralela (IOCTLs) e os exibirá junto com informações interessantes sobre seus parâmetros associados. Para solicitações de leitura e gravação, o Portmon exibe as primeiras dezenas de bytes do buffer, usando '.' para representar caracteres não imprimíveis. A opção de menu Mostrar Hex permite alternar entre ASCII e saída hexadecimal bruta de dados de buffer.

Como funciona: WinNT

A GUI do Portmon é responsável por identificar portas seriais e paralelas. Ele faz isso enumerando as portas seriais configuradas em HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm e as portas paralelas definidas em HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. Essas chaves contêm os mapeamentos entre nomes de dispositivos de porta serial e paralela e os nomes acessíveis pelo Win32.

Quando você seleciona uma porta para monitorar, Portmon envia uma solicitação para seu driver de dispositivo que inclui o nome NT (por exemplo, \device\serial0) que você está interessado. O driver usa APIs de filtragem padrão para anexar seu próprio objeto de dispositivo de filtro ao objeto de dispositivo de destino. Primeiro, ele usa ZwCreateFile para abrir o dispositivo de destino. Em seguida, ele traduz o identificador que recebe de volta de ZwCreateFile para um ponteiro de objeto de dispositivo. Depois de criar seu próprio objeto de dispositivo de filtro que corresponde às características do destino, o driver chama IoAttachDeviceByPointer para estabelecer o filtro. A partir desse ponto, o driver Portmon verá todas as solicitações direcionadas ao dispositivo alvo.

O Portmon tem conhecimento interno de todas as IOCTLs de portas seriais e paralelas padrão, que são a principal maneira de os aplicativos e drivers configurarem e lerem informações de status das portas. As IOCTLs são definidas no arquivo DDK \ddk\src\comm\inc\ntddser.h e \ddk\src\comm\inc\ntddpar.h, e algumas estão documentadas no DDK.

Como funciona: Windows 95 e 98

No Windows 95 e 98, a GUI do Portmon depende de um VxD carregado dinamicamente para capturar atividades seriais e paralelas. O driver de dispositivo Windows VCOMM (Virtual Communications) serve como interface para dispositivos paralelos e seriais, para que os aplicativos que acessam portas indiretamente usem seus serviços. O Portmon VxD usa o serviço VxD padrão para intercetar todos os acessos às funções da VCOMM. Como seu driver de dispositivo NT, o VxD do Portmon interpreta solicitações para exibi-las em um formato amigável. No Windows 95 e 98 Portmon monitora todas as portas para que não haja seleção de porta como no NT.

DownloadBaixar Portmon (226 KB)

Execute agora a partir do Sysinternals Live.