Emulador de Windows Phone 8.1 sin proxy a través de Fiddler
windows-phone-8 windows-phone-8-emulator (3)
Personalmente siempre uso un teléfono de hardware y configuro el puerto remoto de Fiddler como proxy en la aplicación de configuración de Wi-Fi del teléfono.
Dicho esto, debería ser posible escuchar el emulador WP81. Simplemente no lo he intentado yo mismo. Recuerdo haber tenido problemas similares cuando intentaba escuchar el tráfico de Zune cuando un dispositivo con Windows Phone 7 estaba conectado. Resultó que Zune ignoró la configuración de proxy de Fiddler, por lo que tuve que recurrir a otras medidas. Aquí está la respuesta que obtuve de Eric Lawrence, autor de Fiddler:
Por alguna razón, el servicio WMZuneComm.exe está codificado para usar una configuración de proxy detectada automáticamente, no la configuración que haya configurado en IE.
La configuración de "Autodetectar" se configura mediante un proceso llamado WPAD, que depende de DHCP. Afortunadamente, un amigo mío escribió un servidor DHCP cuyo único trabajo es anunciar que Fiddler es el proxy que todos deberían usar.
Puede encontrar su extensión aquí: http://deletethis.net/dave/wpadserverfiddlerextension/
Después de instalarlo, en la pantalla Herramientas> Configuración del servidor WPAD, en la sección Filtrado de respuesta, seleccione "Sin filtrado de respuestas" o cree un filtro ALLOW para la dirección de bucle IPv6 de la computadora local. (Le pediré a Dave que haga que la próxima versión lo haga automáticamente).
Después de eso, encontrará que cuando su Zune se conecta a la computadora, la pantalla "Servidor de registro" en la extensión de Dave muestra su computadora solicitando la autoproxy, a la que devuelve un script de configuración proxy que le dice al cliente que use Fiddler como apoderado.
Tal vez esto funcione para ti.
Acabo de empezar a buscar en Win Phone 8.1 y jugar con proxying algunos datos a través de Fiddler desde el emulador, pero parece que no quiere jugar a la pelota. Toda la orientación en torno al Teléfono 7 y 8 (no a la 8.1) parece ser que el emulador enrutará el tráfico como esperaría que hicieran otras aplicaciones en la máquina que hable HTTP, pero no veo que esto suceda. Por ejemplo, la publicación de Eric aquí: http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx
No hay filtros aplicados
El contenido se carga correctamente en IE en el emulador.
Fiddler está capturando con éxito todo el tráfico del host.
El emulador puede navegar con éxito al host para extraer el certificado raíz de Fiddler.
Fiddler tiene la propiedad registrationhostname correctamente establecida.
Así que estoy prácticamente sin ideas y estoy viendo el mismo comportamiento en múltiples máquinas. Estoy más inclinado a pensar que me he perdido algo obvio de lo que soy para pensar que algo ha cambiado en 8.1, ¿alguna idea sobre qué probar a continuación?
Una cosa de la que estoy confundido es que la guía que veo (como la de Eric) habla sobre la configuración de Fiddler para permitir conexiones remotas, pero luego no hay nada en establecer un proxy en el emulador como lo haría normalmente con un dispositivo físico. Supongo que esto se explica configurando el nombre de host en Fiddler y que luego el emulador lo resuelve para enrutar a través del proxy.
Editar: solo como referencia, necesito el emulador, ya que se utilizará en un próximo curso de Pluralsight donde quiero mostrar tanto el comportamiento del teléfono como el tráfico a través de Fiddler. Sospecho que el problema puede estar relacionado con el hecho de que está hablando sobre una NIC virtual en el host, ¿suena razonable?
El método de @ EricLaw para que el emulador WP 8.1 funcione con Fiddler definitivamente funciona. Cosas adicionales que tuve que hacer incluyeron:
Elimine la máquina virtual de WP existente desde el administrador de Hyper-V. Puede abrir esto buscando o escribiendo esto en el comando de ejecución:% windir% / system32 / mmc.exe "% windir% / system32 / virtmgmt.msc"
Esto pareció ayudar a borrar por completo la configuración de red de la máquina virtual, y cuando ejecuta Visual Studio, la máquina virtual se volverá a crear.
Además, si intentas ejecutar esto en una red corporativa, he leído que las personas tienen problemas cuando su red ejecuta IPSec. Para esto, deberá obtener una excepción para el emulador o utilizar una red diferente, como una red de invitado.
HTH
Puedo usar con éxito Windows Virtual Machines 8.1 (en Windows 8.1 Update 1) con Fiddler.
Prueba esto:
- Ejecutar Fiddler.
- Haga clic en
Tools
>Fiddler Options
>Connections
. Cambia elFiddler Listen Port
delFiddler Listen Port
de8888
a otra cosa, p. Ej.8889
. (El equipo de Windows Phone decidió robar el puerto 8888 para su depurador). - Marque la casilla
Allow remote computers to connect
. - Haga clic en el botón
Ok
- En el cuadro QuickExec debajo de la lista de sesiones de Fiddler, escriba
prefs set fiddler.network.proxy.RegistrationHostName 169.254.80.80
donde se encuentra la dirección IP en la parte superior de la información sobre herramientas que aparece al pasar el cursor sobre el indicadorOnline
en laprefs set fiddler.network.proxy.RegistrationHostName 169.254.80.80
superior derecha de la barra de herramientas de Fiddler . - Reiniciar Fiddler.
- Comience VS 2013 y cargue su proyecto. Haga clic en
Run
para elWindows Phone 8.1 emulator
. - Abre IE. Cuando aparezca el cuadro de diálogo Configuración, elija
Custom Settings
. En el menú desplegable deData Sense savings
, elijaOff
. - Haga clic en
Done
.
El paso 2 técnicamente no debería ser necesario (porque su depurador está escuchando en loopback en lugar de la IP pública), pero no puede doler. No estoy seguro de que se requiera el paso 8, pero dado que el servicio de optimización del navegador de Data Sense se basa en un proxy en la nube, parece que podría interferir.