Actualizado a 11 de Octubre 2008

Acceder al sistema de archivos del iPhone 3G


importante: El acceso al sistema de archivos es una tarea para usuarios avanzados. Un uso indebido puede provocarte problemas.

En este tutorial se muestra como podemos acceder al sistema de archivos para poder realizar operaciones como crear carpetas, cambiar permisos, editar archivos, renombrarlos, borrarlos, etc...

El acceso al sistema de archivos puede realizarse de forma limitada en caso de no tener un iPhone desbloqueado, o total en el caso contrario. La diferencia básicamente son las acciones que podemos realizar. Por ejemplo, si queremos cambiar los permisos de una carpeta o archivo, requerimos un acceso total. Si queremos copiar una foto, el limitado basta.

En el caso de acceder con control total, veremos tres maneras:
  • A través del PC usando una conexión SSH vía Wi-Fi
  • A través del PC usando una conexión SSH vía USB
  • Directamente desde el iPhone

En el caso de acceder con control limitado, el acceso se realiza desde el PC con el iPhone conectado por USB, usando algunos de los programas existentes. 


1- Acceso mediante control limitado

Se puede acceder al sistema de archivos, así como transferir archivos entre el PC y el iPhone (por ejemplo, para cargar/descargar fotos y música) usando un iPhone sin desbloquear, pero con limitaciones, mediante aplicaciones como DiskAidiPhone Browser o iFunBox. Tan solo se requiere tener conectado el iPhone vía USB.

Las acciones que podemos realizar son básicamente:

  • Transferir archivos
  • Crear/eliminar/renombrar carpetas
  • Renombrar/Eliminar archivos



Otra opción muy interesante es usar la aplicación Air Sharing que nos permitirá acceder al iPhone como si de una carpeta más en nuestro PC se tratara (ver tutorial ).



2- Acceso con control total desde PC

El acceso con control total no solamente te permite acceder a todos los archivos y carpetas, sino que te permite realizar acciones como el cambio de permisos, edición, cambio de propietario, etc...

Para acceder al sistema de archivos con control total requerimos algunas cosas:

  • Disponer de un iPhone desbloqueado (Jailbreak)
  • Tener instalado en el iPhone una aplicación SSH como OpenSSH.
  • Tener en nuestro PC un software para conectar vía SSH como WinSCP (GUI) o Putty (terminal)
  • Si vas a acceder vía Wi-Fi, necesitarás tener el ordenador conectado a un router Wi-Fi y tener conectado el iPhone al mismo router Wi-Fi.
  • Si vas a acceder vía USB, necesitarás el cable USB y un programa llamado iPhone Tunnel Suite ;)

nota:Si encontráis alguna incorrección o queréis aportar algún comentario, no dudéis en comentarlo en iPhone Español.

Quizás te interese leer también el tutorial sobre conectividad TCP/IP

Lo primero nos instalaremos desde Cydia o Installer la aplicación OpenSSH, un demonio que se inicia automáticamente manteniéndose a la escucha a través del puerto 22 (por defecto) y que nos permite comunicarnos con el iPhone vía SSH. (nota: tras instalarlo, no busques un icono en el escritorio del iPhone pues no lo crea). 

A continuación descargaremos e instalaremos en nuestro PC el programa WinSCP y/o Putty. Con WinSCP accederás a través de un entorno gráfico, como si usaras el explorador de archivos de Windows, pudiendo mostrar en dos paneles separados tu Pc y el iPhone, mientras que Putty es un entorno en modo terminal, sin entorno gráfico, a base de comandos de texto y que requiere conocimiento del uso de la línea de comandos.


Tienes dos alternativas, conectarte por Wi-Fi o por USB. Recomiendo usar el USB por ser un medio más rápido, y no requerir de una señal externa (Wi-Fi), sin embargo requiere el uso de un programa, el cual si no lo disponemos en ese momento, nos obligará a usar la vía Wi-Fi.


2.a Conectarse vía Wi-Fi


Comprobar conectividad vía Wi-Fi

Para que nuestro ordenador se comunique con el iPhone vía Wi-Fi, ambos han de estar conectados al mismo router que proporciona la señal Wi-Fi. Dado que el iPhone puede conectarse automáticamente a otras redes Wi-Fi, hay que verificar que realmente esté conectada a la señal Wi-Fi que es proporcionada por el router al cual estamos conectados.

 

En la mayoría de ocasiones, estaremos en nuestra casa, con el PC conectado a nuestro router Wi-Fi, y el iPhone ahí al lado. Es esta situación lo normal es que el PC y el iPhone estén conectados a nuestro router y no al del vecino. 

Pero, si esta no es la situación, si hay más de una seña Wi-Fi al alcance, hemos de verificar que el iPhone esté conectado al Wi-Fi de nuestro router y no al del vecino. Para ello hay que verificar que el nombre de la red Wi-Fi que ha encontrado se corresponde con el nombre asignado al router (al configurar el Wi-Fi de un router, le damos un nombre llamado SSID). En la imagen siguiente se comprueba que el iPhone está conectado a una red Wi-Fi cuyo nombre (SSID) es "mi-wifi". 
 


Comprobaremos que desde el PC se "ve" el iPhone. Para ellos probaremos desde el PC, en una ventana de comandos, hacer un ping a la dirección Wi-Fi que tenga el iPhone (es como mandar una señal que ha de ser devuelta para confirmar que existe).

Lo primero es averiguar que IP tiene el iPhone. Para ello te vas a la configuración Wi-Fi.


nota: En los ejemplos siguientes se asumirá que la dirección IP del Wi-Fi es la 10.0.0.83 en vez de la IP de la imagen anterior (192.168.0.195).
En el PC, abriremos una ventana de comandos (Menú de Inicio->Ejecutar->CMD y aceptar) y escribiremos (sin pulsar enter) el comando "PING(espacio)IP", por ejemplo, si la IP del iPhone es la 10.0.0.83, pondremos:
Antes de darle enter, dado que el Wi-Fi del iPhone (seguramente por cuestiones de ahorro de energía) no permanece activo permanentemente aunque el icono indique que está conectado, y hay que forzar a que el Wi-Fi "despierte". Para ello, desde el iPhone, desactiva el Wi-Fi y vuelve a activarlo (Ajustes->Wi-Fi) y entonces pulsar enter, tras lo cual se enviarán 4 señales:
En la imagen se confirma que de los 4 paquetes (señales) enviados, 4 han sido recibidos, éxito total. Si no se ha recibido ninguno, algo está mal configurado. Puedes cerrar esta ventana.
recuerda: Si no puedes conectarte, comprueba que el Wi-Fi no esté en estado "durmiente", desactivándolo y activándolo de nuevo (Ajustes->Wi-Fi). Puedes usar la aplicación BossPrefs que nos permitirá cómodamente activar o desactivar el Wi-Fi.
Con esto hemos verificado que el PC y el iPhone se pueden "ver".

Esta verificación, el ping, basta que lo hagas la primera vez sólo para comprobar que el iPhone está conectado y configurado correctamente. Si tienes problemas para conectarte, vuelve a comprobar la prueba del ping.


Establecer conexión con WinSCP

Ejecutaremos WinSCP, y indicamos la IP en el hostname, como nombre de usuario root, la contraseña es (siempre) alpine, y el protocolo SCP (si tienes problemas para asignar permisos, usa el protocolo SFTP), tras lo cual pulsamos el botón de Login.


Se iniciará la conexión, mostrándote la estructura de ficheros de tu PC y la del iPhone en dos paneles separados.


Ya estás conectado :)
Establecer conexión con Putty

Ejecutaremos Putty, y indicamos la IP en el hostname tras lo cual pulsamos el botón de Open.

Se nos abrirá una ventana de terminal en la cual nos pedirá el nombre de usuario (root) y la contraseña (alpine). La contraseña no la verás en pantalla a medida que la escribas.


A partir de ahí puedes introducir órdenes, como por ejemplo chmod 777 /var/mobile/Library/Mail para cambiar los permisos de una carpeta.

2.b Conectarse vía USB

El proceso en muy similar al del Wi-Fi. Sólo necesitamos un programa que no sirva de puente entre el USB y las aplicaciones WinSCP y/o Putty. Para ello instalaremos y ejecutaremos el programa iPhone Tunnel Suite 2.7 desde la web del desarrollador.

Es recomendable que uses un puerto USB directo del PC, no de un teclado, pantalla o hub, preferiblemente un puerto USB 2.x o superior.

Una vez configurado el dispositivo, básicamente indicando las características, la IP que tiene el Wi-Fi, y la contraseña del root (por defecto alpine).


¿Y por qué hemos de poner la dirección Wi-Fi si nos conectamos por USB? IPhone Tunnel Suite sirve también para conectarse por Wi-Fi. Lo pide para ya tenerlo registrado por si lo vas a necesitar. Puedes poner la IP real o una inventada, aunque recomiendo usar la real por si luego usas alguna función del programa que se realice or Wi-Fi.

A partir de ahí, accederemos al panel principal. Para acceder vía USB hay que tener seleccionada "Use Tunnel". Una vez hecho esto, pulsaremos el botón iTunnel.

Verás en el administrador de tareas se ha creado un proceso llamado iTunel.exe. Mientras esté el proceso activo, ya no es necesario tener abierto el programa  iPhone Tunnel Suite, por lo que puedes cerrarlo, o minimizarlo.


Una vez que el túnel está activado, los programas que antes accedía a la IP Wi-Fi (en los ejemplos anteriores, la 10.0.0.83) deberán acceder al iPhone a través de la dirección IP 127.0.0.1.

nota: si no te permite la conexión, prueba de arrancar iTunes para que te reconozca el iPhone, y luego ciérralo.

Para desactivar el tunel, puedes eliminar manualmente el proceso iTunnel.exe, o arrancar de nuevo la aplicación y pulsar el botón de parar.



nota: El programa iPhone Tunnel Suite te permite además usar el iPhone como un módem 3G y/o adaptador Wi-Fi (ver tutorial ).


3- Acceso con control total desde el iPhone

Teniendo un iPhone desbloqueado, puedes descargarte a través de Cydia  y/o Installer diferentes aplicaciones que te permiten navegar por el sistema de archivos del iPhone.


Uno de las aplicaciones es MobileFinder, del creador de Cydia, Saurik. Con MobileFinder podemos navegar por los directorios, crear archivos, cambiar permisos, etc...

    
Puedes instalar MobileFinder desde el repositorio oficial de Cydia.
Otra aplicación, no tan vistosa ni acabada, pero no menos efectiva, es iCommander.
 
Si lo que quieres es acceder desde el iPhone en modo terminal, una de las opciones es usar MobileTerminal que puedes descargarte desde Cydia.

 

Acerca de la seguridad

Para los maniáticos de la seguridad, una advertencia: tendiendo OpenSSH instalado y el Wi-Fi activado, puedes estar en un lugar donde exista cobertura Wi-Fi en abierto (un aeropuerto por ejemplo), tal que el iPhone se conecte automáticamente a dicha señal, y por tanto, cualquier persona que igualmente esté conectado a la misma señal podrá acceder a tu iPhone si sabe conseguir tu IP de la Wi-Fi (no es muy difícil sobre todo si es por DHCP ) y siempre que no hayas cambiado la contraseña por defecto (alpine). 

Si te interesa el tema puedes leerte el tutorial (Anti)Hack un iPhone/iPod



Más tutoriales