A versão curta:
Como redireciono todo o tráfego da porta en2 80/443 para 127.0.0.1:8080 quando habilitei o compartilhamento de Internet no OS X Mountain Lion (10.8)?
Alguns antecedentes:
Estou fazendo uma tese de mestrado em que avaliarei a segurança da comunicação para vários aplicativos de smartphone. Eu escolhi usar meu novo MacBook Air como roteador.
Conectei meu Air à Internet com Ethernet USB e configurei o Compartilhamento da Internet no meu Wifi. Isso funciona bem. Posso conectar outros dispositivos ao meu Air via wifi e acessar a Internet. Ótimo!
Agora, quero interceptar esse tráfego e modificá-lo rapidamente. Achei que precisava de um proxy para fazer isso, mas preciso de um transparente, onde não precise fazer nenhuma configuração no dispositivo. Eu descobri que o mitmproxy oferece exatamente esses recursos. Então, eu o tenho rodando em 127.0.0.1:8080, pronto para interceptar o tráfego.
Infelizmente, estou preso tentando redirecionar meu tráfego vindo do wifi (en2) nas portas 80 e 443 para 127.0.0.1:8080. Os documentos mitmproxy sugerem uma configuração para pfctl, mas não funciona. Notei que a Apple forneceu algumas configurações para o compartilhamento da Internet, ativando o NAT. Portanto, se eu não usar a configuração deles, o compartilhamento da Internet para de funcionar. E quando tento adicionar as linhas rdr à sua configuração, isso não entra em vigor (tentei vários lugares no arquivo /etc/pf.conf). Meu tráfego simplesmente passa para a Internet, ignorando o mitmproxy.