Pagina inicial » escola » Entendendo o Process Monitor

    Entendendo o Process Monitor

    Hoje, nesta edição da Geek School, vamos ensinar-lhe como o utilitário Process Monitor permite que você espreite sob o capô e veja o que seus aplicativos favoritos estão realmente fazendo nos bastidores - quais arquivos eles estão acessando, as chaves de registro que eles usar e mais.

    NAVEGAÇÃO ESCOLAR
    1. Quais são as ferramentas SysInternals e como você as usa?
    2. Entendendo o Process Explorer
    3. Usando o Process Explorer para solucionar problemas e diagnosticar
    4. Entendendo o Process Monitor
    5. Usando o Process Monitor para solucionar problemas e localizar os Hacks do Registro
    6. Usando o Autoruns para lidar com processos de inicialização e malware
    7. Usando o BgInfo para exibir informações do sistema na área de trabalho
    8. Usando o PsTools para controlar outros PCs a partir da linha de comando
    9. Analisando e gerenciando seus arquivos, pastas e unidades
    10. Encerrando e usando as ferramentas juntas

    Ao contrário do utilitário Process Explorer, que passamos alguns dias cobrindo, o Process Monitor é uma visão passiva de tudo que acontece no seu computador, não uma ferramenta ativa para matar processos ou fechar alças. É como dar uma olhada em um arquivo de log global para cada evento que acontece no seu PC Windows.

    Quer entender quais chaves de registro seu aplicativo favorito está realmente armazenando suas configurações? Quer descobrir quais arquivos um serviço está tocando e com que frequência? Quer ver quando um aplicativo está se conectando à rede ou abrindo um novo processo? É o Process Monitor para o resgate.

    Não fazemos mais muitos artigos de hack do registro, mas quando começamos, usamos o Process Monitor para descobrir quais chaves de registro estavam sendo acessadas, e depois ajustávamos as chaves de registro para ver o que aconteceria. Se você já se perguntou como alguns nerds descobriram um hack de registro que ninguém nunca viu, provavelmente foi através do Process Monitor.

    O utilitário Process Monitor foi criado pela combinação de dois utilitários diferentes antigos, o Filemon e o Regmon, que eram usados ​​para monitorar os arquivos e a atividade do registro, como os nomes indicam. Embora esses utilitários ainda estejam disponíveis por aí, e embora possam atender às suas necessidades específicas, você ficaria muito melhor com o Process Monitor, porque ele pode lidar com um grande volume de eventos melhor devido ao fato de ter sido projetado para isso.

    Também vale a pena notar que o Process Monitor sempre requer o modo de administrador, porque ele carrega um driver de kernel sob o capô para capturar todos esses eventos. No Windows Vista e em versões posteriores, você receberá uma caixa de diálogo do UAC, mas, para o XP ou o 2003, precisará garantir que a conta usada tenha privilégios de administrador..

    Os eventos que processam capturas do monitor

    O Process Monitor captura uma tonelada de dados, mas não captura todas as coisas que acontecem no seu PC. Por exemplo, o Process Monitor não se importa se você movimentar o mouse e não sabe se os drivers estão funcionando de maneira ideal. Não vai acompanhar quais processos estão abertos e desperdiçando CPU no seu computador - essa é a tarefa do Process Explorer, afinal de contas.

    O que ele faz é capturar tipos específicos de operações de E / S (Entrada / Saída), independentemente de acontecerem por meio do sistema de arquivos, do registro ou até mesmo da rede. Além disso, irá acompanhar alguns outros eventos de forma limitada. Esta lista abrange os eventos que captura:

    • Registro - isso pode criar chaves, lê-las, excluí-las ou consultá-las. Você ficará surpreso com a frequência com que isso acontece.
    • Sistema de arquivo - isso pode ser criação, gravação, exclusão de arquivos, etc, e pode ser tanto para discos rígidos locais quanto para unidades de rede.
    • Rede - isso mostrará a origem e o destino do tráfego TCP / UDP, mas infelizmente não mostra os dados, tornando-os um pouco menos úteis.
    • Processo - Estes são eventos para processos e encadeamentos onde um processo é iniciado, um encadeamento é iniciado ou encerrado, etc. Isso pode ser uma informação útil em certas instâncias, mas geralmente é algo que você gostaria de ver no Process Explorer..
    • Profiling - Esses eventos são capturados pelo Process Monitor para verificar a quantidade de tempo do processador usada por cada processo e o uso da memória. Novamente, você provavelmente desejaria usar o Process Explorer para rastrear essas coisas a maior parte do tempo, mas é útil aqui se você precisar.

    Portanto, o Process Monitor pode capturar qualquer tipo de operação de E / S, seja por meio do registro, do sistema de arquivos ou até mesmo da rede, embora os dados reais que estão sendo gravados não sejam capturados. Estamos apenas olhando para o fato de que um processo está escrevendo para um desses fluxos, para que possamos descobrir mais sobre o que está acontecendo.

    A interface do monitor de processo

    Quando você carregar pela primeira vez a interface do Process Monitor, será apresentado a você um enorme número de linhas de dados, com mais dados voando rapidamente, e isso pode ser avassalador. A chave é ter alguma idéia, pelo menos, sobre o que você está olhando, bem como o que você está procurando. Este não é o tipo de ferramenta que você gasta um dia relaxante navegando, porque dentro de um período de tempo muito curto, você estará olhando para milhões de linhas.

    A primeira coisa que você vai querer fazer é filtrar esses milhões de linhas até o subconjunto muito menor de dados que deseja ver, e vamos ensinar como criar filtros e analisar exatamente o que você quer encontrar . Mas primeiro, você deve entender a interface e quais dados estão realmente disponíveis.

    Olhando para as colunas padrão

    As colunas padrão mostram uma tonelada de informações úteis, mas você definitivamente precisará de algum contexto para entender quais dados cada um realmente contém, porque alguns deles podem parecer algo ruim que aconteceu quando eles são realmente eventos inocentes que acontecem o tempo todo sob o capuz. Aqui está o que cada uma das colunas padrão é usada para:

    • Tempo - esta coluna é bastante autoexplicativa, mostra a hora exata em que um evento ocorreu.
    • Nome do processo - o nome do processo que gerou o evento. Isso não mostra o caminho completo para o arquivo por padrão, mas se você passar o mouse sobre o campo, poderá ver exatamente qual processo foi.
    • PID - o ID do processo do processo que gerou o evento. Isso é muito útil se você estiver tentando entender qual processo svchost.exe gerou o evento. Também é uma ótima maneira de isolar um único processo para monitoramento, supondo que o processo não seja reiniciado.
    • Operação - esse é o nome da operação que está sendo registrada e há um ícone que corresponde a um dos tipos de eventos (registro, arquivo, rede, processo). Estes podem ser um pouco confusos, como RegQueryKey ou WriteFile, mas vamos tentar ajudá-lo com a confusão.
    • Caminho - Este não é o caminho do processo, é o caminho para o que estava sendo trabalhado por este evento. Por exemplo, se houver um evento WriteFile, esse campo mostrará o nome do arquivo ou pasta que está sendo tocado. Se este fosse um evento de registro, ele mostraria a chave completa sendo acessada.
    • Resultado - Isso mostra o resultado da operação, que codifica como SUCESSO ou ACESSO NEGADO. Enquanto você pode ser tentado a assumir automaticamente que um BUFFER TOO SMALL significa que algo realmente ruim aconteceu, isso não é realmente o caso na maioria das vezes.
    • Detalhe - informações adicionais que muitas vezes não se traduzem no mundo da resolução de problemas geek regular.

    Você também pode adicionar algumas colunas adicionais à exibição padrão acessando Opções -> Selecionar Colunas. Esta não seria a nossa recomendação para a sua primeira parada quando você começar a testar, mas já que estamos explicando colunas, vale a pena mencionar já.

    Uma das razões para adicionar colunas adicionais à exibição é que você pode filtrar rapidamente por esses eventos sem ficar sobrecarregado com dados. Aqui estão algumas das colunas extras que usamos, mas você pode usar para alguns outros na lista, dependendo da situação.

    • Linha de comando - enquanto você pode clicar duas vezes em qualquer evento para ver os argumentos da linha de comando para o processo que gerou cada evento, pode ser útil ver rapidamente todas as opções.
    • Nome da empresa - A principal razão pela qual esta coluna é útil é que você pode simplesmente excluir todos os eventos da Microsoft rapidamente e restringir seu monitoramento a tudo o que não fizer parte do Windows. (Você vai querer ter certeza de que você não tem nenhum processo rundll32.exe estranho rodando usando o Process Explorer, já que eles podem estar escondendo malware).
    • Pai PID - Isso pode ser muito útil quando você está solucionando um processo que contém muitos processos filho, como um navegador da Web ou um aplicativo que continua lançando coisas incompletas como outro processo. Você pode filtrar pelo PID principal para ter certeza de capturar tudo.

    Vale a pena notar que você pode filtrar por dados de coluna, mesmo que a coluna não esteja sendo exibida, mas é muito mais fácil clicar com o botão direito do mouse e filtrar do que manualmente. E sim, nós mencionamos os filtros novamente, embora não tenhamos explicado ainda.

    Examinando um único evento

    Visualizar as coisas em uma lista é uma ótima maneira de ver rapidamente muitos pontos de dados diferentes de uma só vez, mas definitivamente não é a maneira mais fácil de examinar um único dado, e há tanta informação que você pode ver no Lista. Felizmente, você pode clicar duas vezes em qualquer evento para acessar um tesouro de informações extras.

    A guia Evento padrão fornece informações muito semelhantes às que você viu na lista, mas adicionará um pouco mais de informações à parte. Se você estiver vendo um evento do sistema de arquivos, poderá ver determinadas informações como os atributos, tempo de criação do arquivo, o acesso que foi tentado durante uma operação de gravação, o número de bytes que foram gravados e a duração.

    Mudar para a aba Process fornece muitas ótimas informações sobre o processo que gerou o evento. Embora geralmente você queira usar o Process Explorer para lidar com processos, pode ser muito útil ter muitas informações sobre o processo específico que gerou um evento específico, especialmente se algo aconteceu muito rapidamente e depois desapareceu do processo. lista de processos. Desta forma, os dados são capturados.

    A guia "Pilha" é algo que às vezes é extremamente útil, mas muitas vezes não será útil. A razão pela qual você gostaria de ver a pilha é para que você possa solucionar problemas examinando a coluna Módulo para qualquer coisa que não pareça correta.

    Por exemplo, imagine que um processo estava constantemente tentando consultar ou acessar um arquivo que não existe, mas você não tinha certeza do motivo. Você pode olhar através da aba Stack e ver se existem módulos que não pareciam corretos, e depois pesquisá-los. Você pode descobrir que um componente desatualizado, ou até malware, está causando o problema.

    Ou, você pode achar que não há nada útil aqui para você, e está tudo bem também. Há muitos outros dados para analisar.

    Notas sobre transbordamentos de buffer

    Antes de prosseguirmos, vamos querer observar um código de resultado que você vai começar a ver muito na lista, e com base em todo o seu conhecimento de nerd até agora, você pode surtar um pouco sobre isso. Então, se você começar a ver o BUFFER OVERFLOW na lista, não presuma que alguém está tentando invadir seu computador.

    Próxima página: Filtrando os dados que processam capturas do monitor