8 votos

Redirigir el tráfico utilizando PF junto con Internet Sharing

La versión corta:

¿Cómo puedo redirigir todo el tráfico del puerto 80/443 de en2 a 127.0.0.1:8080 cuando he habilitado Compartir Internet en OS X Mountain Lion (10.8)?

Algunos antecedentes:

Estoy realizando una tesis de máster en la que evaluaré la seguridad de las comunicaciones de varias aplicaciones para teléfonos inteligentes. He decidido utilizar mi nuevo Macbook Air como router.

He conectado mi Air a Internet con USB Ethernet y he configurado el uso compartido de Internet a mi Wifi. Esto funciona bien. Puedo conectar otros dispositivos a mi Air por wifi y acceder a Internet. Muy bien.

Ahora quiero interceptar este tráfico y modificarlo sobre la marcha. Me imagino que necesito un proxy para hacer esto, pero necesito uno transparente, en el que no tenga que hacer ninguna configuración en el dispositivo. Encontré que mitmproxy ofrece exactamente estas características. Así que lo tengo corriendo en 127.0.0.1:8080, listo para interceptar el tráfico.

Desgraciadamente estoy atascado intentando redirigir el tráfico que entra desde la wifi (en2) por los puertos 80 y 443 a 127.0.0.1:8080. Los documentos de mitmproxy sugieren una configuración para pfctl pero no funciona. Me he dado cuenta de que Apple ha proporcionado una configuración para compartir Internet, habilitando el NAT. Así que si no utilizo su configuración entonces el Internet Sharing deja de funcionar. Y cuando intento añadir las líneas rdr a su configuración no surte efecto (he probado en varios lugares del archivo /etc/pf.conf). Mi tráfico simplemente pasa a Internet, saltándose el mitmproxy.

7voto

Foo Fighter Puntos 111

He encontrado la respuesta.

He cargado mis reglas como parte del ancla com.apple/100.InternetSharing/natpmp que es el que se utiliza para compartir Internet.

El archivo mitm.pf.conf contiene las normas:

rdr on bridge0 proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr on bridge0 proto tcp from any to any port 443 -> 127.0.0.1 port 8080`

Cárgalo con el anclaje de Compartir Internet:

sudo pfctl -a com.apple/100.InternetSharing/natpmp -f mitm.pf.conf

-1voto

ak11234 Puntos 51

En una situación similar he utilizado el firewall para redirigir el tráfico de una NIC al proxy. Podrías usar algo así:

$ sudo ipfw add fwd 127.0.0.1,8080 tcp from not me to any 80 in via en1
$ sudo ipfw add fwd 127.0.0.1,8080 tcp from not me to any 443 in via en1

Si funcionó bien para mí.

También puede utilizar el programa gratuito Techo de agua programa como GUI para configurar el firewall. No añade nada al comando ipsw, sólo le da un acceso más fácil a todas las opciones.

Esta página me ayudó mucho a establecer mi configuración:

http://lucumr.pocoo.org/2013/1/6/osx-wifi-proxy/

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X