La versión corta:
¿Cómo redirijo todo el tráfico desde el puerto en2 80/443 a 127.0.0.1:8080 cuando habilito el uso compartido de Internet en OS X Mountain Lion (10.8)?
Algunos antecedentes:
Estoy haciendo una tesis de maestría donde evaluaré la seguridad de la comunicación para varias aplicaciones de teléfonos inteligentes. Elegí usar mi nuevo MacBook Air como enrutador.
He conectado mi Air a Internet con USB Ethernet y configuro Internet Sharing en mi Wifi. Esto funciona bien Puedo conectar otros dispositivos a mi Air a través de wifi y acceder a Internet. ¡Excelente!
Ahora quiero interceptar este tráfico y modificarlo sobre la marcha. Pensé que necesitaba un proxy para hacer esto, pero necesito uno transparente, donde no tengo que hacer ninguna configuración en el dispositivo. Descubrí que mitmproxy ofrece exactamente estas características. Entonces lo tengo ejecutándose en 127.0.0.1:8080, listo para interceptar el tráfico.
Desafortunadamente, estoy atascado tratando de redirigir mi tráfico que viene del wifi (en2) en el puerto 80 y 443 a 127.0.0.1:8080. Los documentos mitmproxy sugieren una configuración para pfctl pero no funciona. Me di cuenta de que Apple ha proporcionado alguna configuración para compartir en Internet, lo que permite NAT. Entonces, si no uso su configuración, Internet Sharing deja de funcionar. Y cuando intento agregar las líneas rdr a su configuración no tiene efecto (probé varios lugares en el archivo /etc/pf.conf). Mi tráfico simplemente pasa a Internet, sin pasar por el mitmproxy.