iMessage/iCloud a través de SSH Port forward para atravesar el firewall

¿Qué puertos usan iCloud e iMessage? ¿Es posible usar el reenvío de puertos SSH a través de un proxy para usarlos en una red que bloquea los servicios?

Respuestas (3)

Según: 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) |    ✓    |    -    |

Lo que significa 80, 443 y 5223


Dicho esto, AÚN tengo que tunelizar iMessage correctamente

Así que creo que he encontrado una manera de lograr esto (sin embargo) es más una idea en este momento que una realidad.

El concepto sería levantar un proxy ssh de calcetines ssh HOST -D 1080y luego escribir un proxy.pacarchivo personalizado que enruta orzuelos específicos a través de esta conexión de calcetines.

Las instrucciones sobre cómo escribir una de estas cosas de proxy están aquí: https://mikewest.org/2007/01/auto-configuring-proxy-settings-with-a-pac-file

Si alguna vez hago progresos, actualizaré esta respuesta.

¿Están permitiendo SSH saliente pero no iMessage? Dados los puertos que ha enumerado anteriormente, necesitaría hacer algo como esto.

Fuera del trabajo: forzar la eliminación de mensajes. Configure un tcpdump o Wireshark escuchando UDP 53 para leer qué hosts Messages está intentando resolver y conectarse.

Esto puede duplicarse mirando la salida de lsof -i TCP, pero lsof muestra los nombres de host resueltos por IP, no las IP resueltas por nombres de host, que pueden ser diferentes.

Ahora, haga entradas de host en /etc/hosts (o juegue con DNSMASQ, lo que sea), para cada host al que Messages intente conectarse. Señalarlos en 127.0.0.1.

127.0.0.1  imessages.host.whatever.apple.com

Si Mensajes requiere que se conecte a varios servidores, es posible que deba crear varias subinterfaces para Lo, me gusta lo.1y darles 127.0.0.2-Xdirecciones.

Ahora haz el ssh. Deberá ser root porque está escuchando en los puertos 80 y 443.

ssh myremoteserver.com -L80:127.0.0.1:remoteserver -L443:127.0.0.1:remoteserver -L5223:127.0.0.1:remoteserver