[zz]用FIDDLER抓取SAFARI MOBILE数据包

http://blog.tugai.net/2011/05/13/fiddler-safari-mobile/

用FIDDLER抓取SAFARI MOBILE数据包

因工作的原因,最近尝试了在Safari mobile浏览器(iPad、iPhone、iTouch)下开发网页。当网页开发完成后,需要放到线上用真机查看最终效果,在这个过程中,我发现调试很困难,无法查看源码、无法使用firebug之类的工具动态修改DOM、js、css等文件。上阵子在公司内部分享Fiddler使用技巧时,我曾经提到过使用Fiddler作为代理服务器抓取第三方设备的数据包,当时演示的是使用Fiddler抓另外一台虚拟机上IE8的HTTP包,顺便提了一句“也可以用该方法抓取类似iPad等移动设备的HTTP包”。那时没有用iPhone做实验,现在是实践的时候了。

步骤:

  1. 修改Fiddler配置项
  2. 为Safari Mobile指定代理服务器

修改Fiddler配置项

 

以下操作在PC上设置:

1.在Fiddler软件的菜单栏上选择Tools–>Fiddler Options,在弹出的选项窗口中选择“Connections”选项卡,勾上“Allow remote computers to connect”,重启Fiddler。

fiddler-option

2.确保Fiddler捕获所有程序的HTTP请求。(默认设置,一般不需要修改。点击图标可以切换)

all-processes

3.关闭Windows防火墙。

为Safari Mobile指定代理服务器

 

为Safari Mobile指定代理服务器前,请确定移动终端(以iPhone为例)与PC在同一局域网,并且可以正常访问PC。为了演示方便,我假设PC的IP地址为:192.168.1.101

以下操作在iPhone上设置:

进入“设置”页面,进入“Wi-Fi”选项,选择好网络之后点击“>”进入设置页面,滚动到最下面,选择“手动”,输入PC的IP地址(192.168.1.101)和端口(8888)。

iphone1

iphone2

OK,代理服务器设置好了。

打开Safari浏览一下百度百科,这时,令人兴奋的事情发生了,Fiddler的SessionList上记录了刚才iPhone访问百科时发出的所有HTTP请求以及返回的数据包。

baike-sessionlist

既然Fiddler能获取这些数据包,那我们就能做很多事情了,可以使用Fiddler的AutoResponser将网络上的某个文件替换为本地文件,或者使用Fidddler的断点功能修改数据包,这些不多说了,你懂的。。。

整个过程就是这样的。怎么样,味道还不错吧!^_^

posted @ 2012-09-10 09:14  bettermanlu  阅读(801)  评论(0编辑  收藏  举报