httptap é uma ferramenta que permite ver facilmente as requisições HTTP e HTTPS feitas por programas no Linux
- É possível rastrear as requisições de rede de um comando específico usando
httptap --
- Por exemplo, ao enviar uma requisição para uma URL específica com o comando
curl, o httptap exibe essa requisição e a resposta correspondente
- O
httptap não exige privilégios de root e não afeta o sistema como um todo
- Atualmente funciona apenas no Linux, e portar para outros sistemas operacionais é difícil
- Instalação
- Início rápido
- É possível enviar uma requisição HTTP com o comando
curl e verificar a requisição e a resposta com o httptap
- Ao usar a opção
-L para seguir redirecionamentos, requisições HTTP adicionais são geradas
- Exemplos de uso com Google Cloud e
kubectl
- É possível rastrear as requisições HTTP geradas ao listar instâncias de computação do Google Cloud com o comando
gcloud compute instances list
- É possível rastrear as requisições HTTP geradas ao listar recursos de um cluster Kubernetes com o comando
kubectl get all
- DNS-over-HTTP
- É possível fazer requisições DNS-over-HTTP usando a opção
--doh-url do curl
- É possível verificar as requisições e respostas DNS com o
httptap
- Saída HAR
- É possível exportar requisições e respostas HTTP para um arquivo HAR
- O arquivo HAR pode ser visualizado em diversos viewers
- Como funciona
- O
httptap usa namespaces de rede para executar comandos em um ambiente isolado
- Cria um dispositivo TUN para rastrear o tráfego de rede e gera uma autoridade certificadora temporária para descriptografar o tráfego HTTPS
- Observações
- O processo não pode receber conexões de rede de entrada
- É necessário ter permissão de acesso a
/dev/net/tun
- Todas as requisições ICMP echo são respondidas localmente, sem enviar pacotes ICMP para a rede real
2 comentários
foi desenvolvido na Monastic Academy em Vermont, nos EUA. Acreditamos que uma rotina monástica, e a prática do caminho espiritual budista de forma mais ampla, oferecem condições ideais para o desenvolvimento tecnológico.
Comentários do Hacker News
A seção "How it was made" do README é tão interessante quanto a própria ferramenta
http_proxy, e o programa pode ignorar as variáveis/etc/resolv.conf, e fica a dúvida se ajudaria montar o diretório/etc/ca-certificatesusando o bundle de CAs temporárioO httptap é um rastreador de HTTP no escopo do processo que pode ser executado sem privilégios de root
httptap <command>para rastrear requisições e respostas HTTP/HTTPS na saída padrãoOutra ferramenta que permite analisar tráfego de rede sem privilégios de root é rootless Podman com Pasta
--network=pasta:--pcap,myfile.pcap, o tráfego de rede é gravado em um arquivo PCAPUsar um dispositivo TUN é uma ideia muito legal, e a seção "How it was made" é uma das melhores já vistas em um README no Github
Pretendo usar isso imediatamente para depurar configuração de nginx
Recentemente foi implementado um recurso semelhante no mitmproxy, mas com outros trade-offs
Outra abordagem usando LD_PRELOAD pode falhar com ELF estaticamente linkado, por exemplo binários em golang
Excelente uso da pilha TCP/IP em espaço de usuário do gVisor
O Mitmproxy v11.1 também consegue fazer algo semelhante