Qualquer sniffer de pacote fará isso por você. Confira o tcpdump ou o wireshark . Você terá que configurar alguns filtros nos dados coletados, mas isso é fácil.
Eu tenho um conjunto de testes para aplicativos que realizam muitas solicitações HTTP.
Esse número é alterado toda vez que você executa os testes. Existe um comando ou programa do Unix que "escuta" outro programa contando suas solicitações http?
Você pode rastrear as chamadas do sistema do aplicativo com truss
/ trace
/ strace
/ ... (o nome, a sintaxe da linha de comando e o formato de saída dependem do sistema operacional) e observe connect
de chamadas. Se o seu aplicativo também usar rede não HTTP, talvez seja necessário trabalhar um pouco mais para filtrar as conexões relevantes.
Você pode usar LD_PRELOAD
ou um depurador para modificar a função que cria as conexões HTTP. Mas isso pode ser muito intrusivo para um teste.
Você pode colocar um proxy simples entre seu aplicativo e a web. Tanto o perl quanto o python vêm com bibliotecas que o tornariam um programa de 10 a 20 linhas. Essa é a abordagem que prefiro, a menos que você esteja testando especificamente o comportamento de seu aplicativo em relação a um servidor ou proxy específico.
Tags command-line linux unix macos