La version courte:
Comment rediriger tout le trafic du port en2 80/443 vers 127.0.0.1:8080 lorsque j'ai activé le partage Internet dans OS X Mountain Lion (10.8)?
Quelques antécédents:
Je fais une thèse de maîtrise où j'évaluerai la sécurité de la communication pour diverses applications de smartphone. J'ai choisi d'utiliser mon nouveau MacBook Air comme routeur.
J'ai connecté mon Air à Internet avec USB Ethernet et configuré le partage Internet sur mon Wifi. Cela fonctionne bien. Je peux connecter d'autres appareils à mon Air via wifi et accéder à Internet. Génial!
Maintenant, je veux intercepter ce trafic et le modifier à la volée. J'ai pensé que j'avais besoin d'un proxy pour ce faire, mais j'ai besoin d'un transparent, où je n'ai pas à faire de configuration sur l'appareil. J'ai trouvé que mitmproxy offre exactement ces fonctionnalités. Je l'ai donc exécuté sur 127.0.0.1:8080, prêt à intercepter le trafic.
Malheureusement, je suis coincé à essayer de rediriger mon trafic provenant du wifi (en2) sur les ports 80 et 443 vers 127.0.0.1:8080. Les documents mitmproxy suggèrent une configuration pour pfctl mais cela ne fonctionne pas. J'ai remarqué qu'Apple a fourni une configuration pour le partage Internet, activant NAT. Donc, si je n'utilise pas leur configuration, le partage Internet cesse de fonctionner. Et quand j'essaye d'ajouter les lignes rdr à leur config cela ne prend pas effet (essayé plusieurs endroits dans le fichier /etc/pf.conf). Mon trafic passe simplement sur Internet, contournant le mitmproxy.