Windows Phone 8.1模拟器不通过Fiddler代理

时间:2014-05-04 23:21:44

标签: windows-phone-8 fiddler windows-phone-8-emulator

我刚刚开始研究Win Phone 8.1,并通过模拟器从Fiddler处理一些数据,但它似乎并不想玩球。电话7和8(不是8.1)周围的所有指导似乎都是模拟器将路由流量,因为您希望机器上的其他应用程序可以通过HTTP进行操作,但我没有看到它发生。例如,Eric的帖子在这里:http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx

没有应用过滤器。

内容在模拟器上的IE中成功加载。

Fiddler成功捕获了来自主机的所有流量。

模拟器可以成功浏览到主机以获取Fiddler根证书。

Fiddler正确设置了registrationhostname属性。

所以我几乎没有想法,而且我在多台机器上看到了相同的行为。我更倾向于认为我错过了一些明显的东西而不是我认为8.1中的某些内容已经发生了变化,对于下一步该尝试的内容有何想法?

我感到困惑的一件事是,我看到的指导(例如Eric's)谈到配置Fiddler以允许远程连接但是在那里设置代理没有任何意义。模拟器,因为您通常使用物理设备。我假设这是通过在Fiddler中配置主机名来解决的,然后它由模拟器解析以通过代理进行路由?

编辑仅供参考,我需要模拟器,因为它将在即将到来的Pluralsight课程中使用,我希望通过Fiddler显示手机行为和流量。我怀疑这个问题可能与它通过主机上的虚拟网卡通话有关,这听起来合理吗?

3 个答案:

答案 0 :(得分:30)

我可以在Fiddler上成功使用Windows Phone 8.1虚拟机(在Windows 8.1 Update 1上)。

试试这个:

  1. 运行Fiddler。
  2. 点击Tools> Fiddler Options> Connections。将Fiddler Listen Port8888更改为其他内容,例如8889。 (Windows Phone团队决定为他们的调试器窃取端口8888。)
  3. 勾选Allow remote computers to connect框。
  4. 点击Ok按钮
  5. 在Fiddler会话列表下方的 QuickExec 框中,在鼠标悬停在prefs set fiddler.network.proxy.RegistrationHostName 169.254.80.80指示符上时,您会看到工具提示顶部的Online,其中显示IP地址Fiddler工具栏的右上角。
  6. 重启Fiddler。
  7. 启动VS 2013并加载项目。点击Run的{​​{1}}。
  8. 打开IE。出现“设置”对话框时,选择Windows Phone 8.1 emulator。在Custom Settings下拉列表中,选择Data Sense savings
  9. 点击Off
  10. 步骤#2技术上不应该被要求(因为他们的调试器正在监听环回而不是公共IP),但它不会受到伤害。我并不认为步骤#8是必需的,但鉴于Data Sense的浏览器优化服务基于云中的代理,它似乎可能干扰。

    enter image description here

答案 1 :(得分:14)

@ EricLaw让WP 8.1模拟器与Fiddler一起玩的方法绝对有效。我必须做的其他事情包括:

从Hyper-V管理器中删除现有的WP VM。您可以通过搜索它或在运行命令中键入它来打开它: %windir%\ system32 \ mmc.exe“%windir%\ system32 \ virtmgmt.msc”

这似乎有助于完全清除VM的网络设置,当您运行Visual Studio时,将重新创建VM。

此外,如果您尝试在公司网络上运行此功能,我会读到人们在网络运行IPSec时遇到问题。为此,您需要获得模拟器的异常,或使用其他网络 - 例如访客网络。

HTH

答案 2 :(得分:1)

我个人总是使用硬件电话并将Fiddler的远程端口设置为手机Wi-Fi设置应用中的代理。

也就是说,应该可以收听WP81模拟器。我自己还没试过这个。我记得在连接Windows Phone 7设备时尝试收听Zune流量时遇到类似的问题。原来Zune忽略了Fiddler的代理设置,所以我不得不采取其他措施。以下是我从Fiddler的作者Eric Lawrence那里得到的回复:

  

无论出于何种原因,WMZuneComm.exe服务都是硬编码使用的   自动检测代理设置,而不是您设置的任何设置   可能已在IE中配置。

     

" AutoDetect"使用名为WPAD的进程配置设置,   这取决于DHCP。幸运的是,我的一个朋友写了一个DHCP   服务器的唯一工作就是宣布Fiddler是代理人   每个人都应该使用。

     

你可以在这里找到他的扩展名:   http://deletethis.net/dave/wpadserverfiddlerextension/

     

安装后,在工具>上WPAD服务器设置屏幕,在   响应过滤部分,选择"无响应过滤",或   为本地计算机的IPv6环回地址创建一个ALLOW过滤器。   (我会请Dave让下一个版本自动执行此操作)。

     

之后,当您的Zune连接到计算机时,您会发现   "服务器日志" Dave扩展程序中的屏幕显示您的计算机   查询autoproxy,它返回一个代理配置   告诉客户端使用Fiddler作为代理的脚本。

Source

也许这对你有用。