Quels ports iCloud et iMessage utilisent-ils et est-il possible d'utiliser le transfert de port SSH via un proxy pour les utiliser sur un réseau qui bloque ces services ?
Réponses
Trop de publicités?Selon : http://support.apple.com/en-us/HT202078
| Ports |FaceTime | iMessage|
| 80 (TCP) | | |
| 443 (TCP) | | |
| 3478 through 3497 (UDP) | | - |
| 5223 (TCP) | | |
| 16384 through 16387 (UDP) | | - |
| 16393 through 16402 (UDP) | | - |
Ce qui signifie 80, 443 et 5223.
Ceci étant dit, je n'ai pas encore réussi à tunneliser iMessage correctement.
Je pense donc avoir trouvé un moyen d'y parvenir (cependant, c'est plus une idée qu'une réalité pour le moment).
Le concept serait de mettre en place un proxy ssh socks. ssh HOST -D 1080
et ensuite écrire un proxy.pac
qui achemine des sties spécifiques à travers cette connexion socks.
Les instructions sur la façon d'écrire une de ces procurations sont ici : https://mikewest.org/2007/01/auto-configuring-proxy-settings-with-a-pac-file
Si jamais je fais des progrès, je mettrai à jour cette réponse.
Ils autorisent SSH en sortie mais pas iMessage ? Compte tenu des ports que vous avez énumérés ci-dessus, vous devriez faire quelque chose comme ceci.
En dehors du travail : Forcer la mort des messages. Configurez un tcpdump ou Wireshark écoutant UDP 53 pour lire les hôtes que Messages tente de résoudre et de connecter.
Cela peut être reproduit en regardant la sortie de la fonction lsof -i TCP
mais lsof montre les noms d'hôtes résolus par IP, et non les IP résolus par noms d'hôtes, qui peuvent être différents.
Maintenant, créez des entrées d'hôte dans /etc/hosts (ou utilisez DNSMASQ, peu importe), pour chaque hôte auquel Messages tente de se connecter. Faites-les pointer vers 127.0.0.1.
127.0.0.1 imessages.host.whatever.apple.com
Si Messages vous oblige à vous connecter à plusieurs serveurs, vous devrez peut-être créer plusieurs sous-interfaces pour Lo
comme lo.1
et leur donner 127.0.0.2-X
adresses.
Maintenant, faites le ssh. Vous aurez besoin d'être Root car vous écoutez sur les ports 80 et 443.
ssh myremoteserver.com -L80:127.0.0.1:remoteserver -L443:127.0.0.1:remoteserver -L5223:127.0.0.1:remoteserver