httptap es una herramienta que permite ver fácilmente las solicitudes HTTP y HTTPS realizadas por programas de Linux
- Se puede usar
httptap -- para rastrear las solicitudes de red de un comando específico
- Por ejemplo, si se envía una solicitud a una URL específica con el comando
curl, httptap muestra esa solicitud y la respuesta
httptap no requiere privilegios de root y no afecta a todo el sistema
- Actualmente solo funciona en Linux, y portarlo a otros sistemas operativos es difícil
- Instalación
- Inicio rápido
- Se puede enviar una solicitud HTTP con el comando
curl y revisar la solicitud y la respuesta con httptap
- Si se usa la opción
-L para seguir redirecciones, se generan solicitudes HTTP adicionales
- Ejemplos de uso con Google Cloud y kubectl
- Se pueden rastrear las solicitudes HTTP que ocurren al listar instancias de cómputo de Google Cloud con el comando
gcloud compute instances list
- Se pueden rastrear las solicitudes HTTP que ocurren al listar recursos de un clúster de Kubernetes con el comando
kubectl get all
- DNS-over-HTTP
- Se pueden realizar solicitudes DNS-over-HTTP usando la opción
--doh-url de curl.
- Se pueden revisar las solicitudes y respuestas DNS con
httptap.
- Salida HAR
- Es posible volcar las solicitudes y respuestas HTTP a un archivo HAR.
- El archivo HAR se puede visualizar con distintos viewers.
- Cómo funciona
httptap usa namespaces de red para ejecutar el comando en un entorno aislado
- Crea un dispositivo TUN para rastrear el tráfico de red y genera una autoridad certificadora temporal para descifrar tráfico HTTPS
- Precauciones
- El proceso no puede recibir conexiones de red entrantes.
- Se requiere acceso a
/dev/net/tun.
- Todas las solicitudes ICMP echo se responden localmente sin enviar paquetes ICMP a la red real
2 comentarios
it was developed at the Monastic Academy in Vermont in the US. We believe that a monastic schedule, and the practice of the Buddhist spiritual path more generally, provide ideal conditions for technological development.
Comentarios en Hacker News
La sección "How it was made" del README es tan interesante como la herramienta en sí
http_proxy, y el programa podría ignorar la variable/etc/resolv.conf, y me pregunto si ayudaría montar el directorio/etc/ca-certificatesusando el bundle temporal de CAhttptap es un trazador de HTTP a nivel de proceso que puede ejecutarse sin privilegios de root
httptap <command>para rastrear solicitudes y respuestas HTTP/HTTPS en la salida estándarOtra herramienta para analizar tráfico de red sin privilegios de root es rootless Podman con Pasta
--network=pasta:--pcap,myfile.pcapse registra el tráfico de red en un archivo PCAPUsar un dispositivo TUN es una idea genial, y la sección "How it was made" está entre las mejores que he visto en un README de Github
Lo voy a usar de inmediato para depurar configuraciones de nginx
curl -vpara revisar manualmente la salida, pero esta herramienta permite detectar al instante cosas como bucles de redirecciónHace poco implementé una función similar en mitmproxy, pero con otras compensaciones
Otro enfoque que usa LD_PRELOAD puede fallar con ELF enlazados estáticamente, por ejemplo binarios de golang
Es un gran aprovechamiento de la pila TCP/IP en espacio de usuario de gVisor
Mitmproxy v11.1 también puede hacer algo similar