Como monitorar conexões TCP ao longo do tempo

6

Eu tenho um aplicativo que é um serviço do windows. Ele acessa vários outros serviços usando TCP / IP. Por exemplo. bancos de dados do SQL Server, bancos de dados informix, servidores de email, etc.

Por exemplo, ele também acessará várias instâncias do servidor SQL em servidores diferentes.

No decorrer de um dia, se eu quiser registrar todos os diferentes serviços aos quais se conectou, como eu faria isso?

Se eu usar o TCPView, posso ver todas as informações desejadas, por exemplo, endereço remoto, porta, mas é uma visualização em tempo real, portanto, os dados não são salvos.

    
por peter 22.07.2013 / 01:19

3 respostas

7
O

Process Monitor fará exatamente o que você está procurando

Depois de configurar seus filtros, certifique-se de ir para File->Backing Files... e escolher um arquivo para salvar os logs, caso contrário, ele começará a excluir os registros antigos assim que ficar sem memória virtual ou fechar o programa.

Certifique-se de reiniciar o programa depois de definir uma nova fonte de apoio, a alteração não terá efeito até você fechar e reabrir o programa!

    
por 22.07.2013 / 02:59
4

Acho que o Wireshark faria exatamente o que você quer.

Você pode usar seus filtros poderosos para escolher apenas o tráfego tcp de determinadas portas ou ip. Em suma, você pode deixá-lo rodar e coletar apenas os dados que são importantes para você. Você pode ver a comunicação em nível de pacote para tudo o que passa pelo seu adaptador de rede.

    
por 22.07.2013 / 02:35
2

Se você estiver executando o Windows, poderá configurar o trabalho agendado que executa o script:

netstat -t > C:\your_output_path

o arquivo your_output_path pode conter a variável% time% e% date%, de modo que toda vez que o script é executado, ele envia os dados para um arquivo com hora e data em seu nome.

Se você instalar uma ferramenta como UnixUtils , você poderá usar o comando grep e gawk para filtrar registros que não são necessários e deixe apenas desejável uma vez. Por exemplo, para obter a conexão do PostgreSQL você faria

netstat -t | grep 5432

Execute este script com a frequência que desejar e você terá vários arquivos com o registro da sua conexão durante o tempo.

    
por 22.07.2013 / 02:38