tabla restaurar para modificar mac editar cambiar archivo agregar iphone dns hosts-file

iphone - restaurar - modificar hosts en mac para adobe



¿Existe un archivo de hosts en el iPhone? Cómo cambiarlo? (8)

Estoy desarrollando una aplicación que consulta al servidor. En mi Mac, utilizo el archivo de hosts para cambiar el DNS para que apunte a un servidor local dentro de mi red de área local.

Ahora necesito probarlo con mi iPhone, el problema es que mi iPhone no reconoce ese servidor debido a la configuración faltante para dns.

En mi Mac o Windows, simplemente agrego: 192.168.0.20 http://www.google.com al archivo de hosts.

¿Ahora cómo hago para que mi iPhone conozca la URL: http://www.google.com ?


Acabo de editar el archivo ''hosts'' de mi iPhone con éxito (en Jailbreak iOS 4.0).

  • Instalado OpenSSH en iPhone a través de Cydia
  • Usando un cliente SFTP como FileZilla en mi computadora, me conecté a mi iPhone
    • Dirección: [use la dirección IP o nombre de host de su teléfono, ej. simophone.local ]
    • Nombre de usuario: root
    • Contraseña: alpine
  • Ubica el /etc/hosts
  • Hice una copia de seguridad en mi computadora (en caso de que quiera revertir mis cambios más tarde)
  • Editó el archivo de hosts en un editor de texto decente (como Notepad++ ). Vea here para una explicación del archivo de hosts.
  • Subido los cambios , sobrescribiendo el archivo de hosts en el iPhone

El teléfono almacena en caché algunas páginas web y consultas de DNS, por lo que puede ser útil reiniciar o borrar la caché. Espero que ayude a alguien.

Simon.


En caso de que alguien más se encuentre en esta página, también puede resolver esto usando la dirección IP en la solicitud de URL en lugar del dominio:

NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];

Luego especifica el host manualmente:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL]; [request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];

En lo que respecta al servidor, se comportará exactamente de la misma manera que si hubiera usado http://myserver/mypage.php , excepto que el iPhone no tendrá que hacer una búsqueda de DNS.

API 100% pública


Esto no responde directamente a tu pregunta, pero sí resuelve tu problema ...

¿Qué marca de enrutador tienes? El firmware de su enrutador puede permitirle configurar registros DNS para su red local. Esto es lo que hago con el firmware Tomato


No cambie el DNS en el teléfono. En cambio, conéctese con wifi a la red local y ya está todo listo.

En mi oficina, tenemos servidores internos con DNS interno que no están expuestos a Internet. Simplemente me conecto con el iPhone al wifi de la oficina y luego puedo acceder a ellos bien.

YMMV, pero en lugar de configurar el DNS del teléfono, me parece que el solo hecho de configurar el DNS y el wifi internos locales es una solución más limpia y fácil.


No relacionado con la programación, pero responderé de todos modos. Está en /etc/hosts .

Puede cambiarlo con un editor de texto simple como nano .

(Obviamente, necesitarías un iPhone con jailbreak para esto)


No, una aplicación de iPhone solo puede cambiar cosas dentro de su propio arenero. (E incluso hay cosas que no puedes cambiar sobre la marcha).

Probablemente su mejor opción sea utilizar la dirección IP del servidor en lugar del nombre de host. Un poco más difícil, pero no tan difícil si solo necesitas resolver una sola dirección, sería poner un servidor DNS en tu Mac y configurar tu iPhone para usar eso.


Otra opción aquí es conectar tu iPhone a través de un proxy. Aquí hay un ejemplo de cómo hacerlo con Fiddler (es muy fácil):

http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

En ese caso, cualquier búsqueda de DNS que realice su iPhone usará el archivo hosts de la máquina en la que se está ejecutando Fiddler. Sin embargo, tenga en cuenta que debe usar un nombre que se resolverá a través de DNS. example.local , por ejemplo, no funcionará. example.xyz o example.dev hará.


Puede existir, pero no puede cambiarlo en un iPhone sin jailbreaked.

Suponiendo que su servidor web de desarrollo está en una Mac, ¿por qué no simplemente utiliza su nombre Bonjour (por ejemplo, MyMac.local. ) en lugar de myrealwebserverontheinternet.com ?