net mitmweb mitmproxy mitmdump example ruby ssl https proxy man-in-the-middle

mitmweb - Ruby MITM proxy



mitmproxy windows (2)

Hay un excelente proxy MITM en Python llamado mitmproxy . La biblioteca de netlib del autor hace los trucos y mitmproxy la usa.

La base de código no es grande y no debería ser difícil de revisar dado que conoces a Ruby.

Estoy buscando algunos ejemplos sobre cómo escribir un proxy en Ruby que sea compatible con HTTPS. Tengo un proxy simple implementado con Webricks HTTPProxyServer, pero me di cuenta de que el tráfico HTTPS es solo un túnel (como debería;)). Pero quiero grabar el contenido con VCR (con respecto a mi pregunta aquí VCRProxy: Grabar llamadas PhantomJS ajax con VCR dentro de Capybara ) y siempre que el contenido esté solo sintonizado, VCR no puede grabarlo.

Así que estaba pensando en escribir el proxy como un hombre en el medio, generar certificados SSL sobre la marcha (no me importan los errores de certificado, es solo para probar), y luego podría grabar el contenido / reproducirlo más tarde.

Entonces, si alguien tiene un buen recurso de cómo empezar, o un tutorial o una idea, házmelo saber.

PD: Ya he visto estas preguntas, pero no proporcionan nada más (y deben estar en ruby):


Una vieja pregunta, pero en aras de la exhaustividad aquí va otra respuesta.

Implementé un proxy de interceptación HTTP / HTTPS en Ruby, el proyecto está alojado en github .

El proyecto es nuevo, por lo que no es (todavía) tan maduro como el mitmproxy de Python, pero admite HTTPS con generación de certificados sobre la marcha.