La version courte :
Comment rediriger tout le trafic du port 80/443 de en2 vers 127.0.0.1:8080 lorsque j'ai activé le partage Internet dans OS X Mountain Lion (10.8) ?
Un peu d'histoire :
Je prépare un mémoire de maîtrise dans lequel j'évalue la sécurité de la communication pour diverses applications pour smartphone. J'ai choisi d'utiliser mon nouveau Macbook Air comme routeur.
J'ai connecté mon Air à Internet par USB Ethernet et j'ai configuré le partage Internet sur mon Wifi. Cela fonctionne bien. Je peux connecter d'autres appareils à mon Air via wifi et accéder à Internet. C'est génial !
Je veux maintenant intercepter ce trafic et le modifier à la volée. Je me suis dit que j'avais besoin d'un proxy pour faire cela, mais j'ai besoin d'un proxy transparent, où je n'ai pas besoin de faire de configuration sur l'appareil. J'ai trouvé que mitmproxy offrait exactement ces fonctionnalités. Je l'ai donc lancé sur 127.0.0.1:8080, prêt à intercepter le trafic.
Malheureusement, je suis bloqué en essayant de rediriger mon trafic venant du wifi (en2) sur les ports 80 et 443 vers 127.0.0.1:8080. La documentation de mitmproxy suggère une configuration pour pfctl mais cela ne fonctionne pas. J'ai remarqué qu'Apple a fourni une configuration pour le partage d'Internet, activant le NAT. Si je n'utilise pas cette configuration, le partage d'Internet ne fonctionne plus. Et lorsque j'essaie d'ajouter les lignes rdr à leur configuration, cela ne prend pas effet (j'ai essayé à plusieurs endroits dans le fichier /etc/pf.conf). Mon trafic passe simplement sur Internet, en contournant le mitmproxy.