¿Software/marco en Linux para filtrar el tráfico HTTP?

He estado usando mitmproxy para filtrar el tráfico HTTP. mitmproxy es simple y está escrito en Python. Comenzará un nuevo hilo para manejar cada nueva solicitud HTTP.

Aquí hay algunas cosas que necesito obtener de esos flujos de solicitud:

  1. URL
  2. parámetros
  3. IP de la solicitud
  4. MAC de la solicitud
  5. analizar el contenido y hacer algo de logística

mitmdump se envía desde el proyecto mitmproxy y funciona en la línea de comandos. Extensamente lo usé de esta manera:

mitmdump -T -s ./my_written_request_handler.py(escucha en el puerto 8000 y solía iptablesreenviar todo el tráfico HTTP a este puerto)

Manejé todas las solicitudes en este controlador ./my_written_request_handler.py, pero encontré que era menos eficiente. ¡Tal vez porque está en Python!

Así que quiero una nueva herramienta o marco fácil de usar para hacer este trabajo.

¿Un cortafuegos hará este trabajo sin proxy?

Respuestas (1)

Creo que HAProxy es una de sus mejores apuestas si desea una forma eficiente de filtrar el tráfico con muchas reglas en Linux. A lo largo de los años, dicen que Haproxy se ha convertido en un " equilibrador de carga de código abierto estándar de facto , ahora se envía con la mayoría de las distribuciones principales de Linux y, a menudo, se implementa de forma predeterminada en plataformas en la nube". Ha existido durante bastante tiempo y puede ser complicado, pero vale la pena.

De su documentación sobre " Qué es y no es HAProxy ", puedo ver lo siguiente que se ajustaría a su requisito más importante:

HAProxy es [también] una herramienta de reparación de HTTP : puede modificar/arreglar/agregar/eliminar/reescribir la URL o cualquier encabezado de solicitud o respuesta . [...] HAProxy es [también] un conmutador basado en contenido : puede considerar cualquier elemento de la solicitud para decidir a qué servidor pasar la solicitud o la conexión. [...]