当前位置: 代码迷 >> PHP >> 使用fiddler捕安卓APP数据包并调试PHP程序
  详细解决方案

使用fiddler捕安卓APP数据包并调试PHP程序

热度:41   发布时间:2016-04-28 18:06:43.0
使用fiddler抓安卓APP数据包并调试PHP程序

我有个这样的需求

要在安卓APP向服务器发起请求的时候调试PHP程序。

把目标分解开来,大概步骤如下

调试PHP使用ECLIPSE+XDEBUG,而XDEBUG触发断点需要get方法传递一个参数或者设置一个COOKIE,我使用的是COOKIE的方法(我认为这种方法比较好)

也就是说,要想办法让APP发起请求的时候带着COOKIE信息,因为APP开发我不熟悉,所以只能想别的办法,我的办法就是HOOK到请求,然后添加上COOKIE值

刚刚好,fiddler除了可以抓取HTTP数据包的能力之外,他也可以修改请求和响应,我需要修改的就是请求。

使用fiddler修改请求的方法有两种,一种是下断点,然后修改请求头,第二种就是写脚本。我用的是第二种方法

在fiddler  的脚本文件中的 OnBeforeRequest方法里添加

        if (oSession.HostnameIs("192.168.1.7")) {
            oSession.oRequest.headers.Add("Cookie", "XDEBUG_SESSION=ECLIPSE_DBGP");
        }

这段代码的意思是 

如果请求的目标地址是192.168.1.7主机的画,就添加一个COOKIE  ,键为XDEBUG_SESSION,值为ECLIPSE_DBGP  ,这个是我使用eclipse触发PHP断电的时候需要的COOKIE信息,到此为止,我的需求就实现了


PS:如果用火狐调试配合ECLIPSE调试php的话可以使用一个 叫做  the  easiest xdebug的插件。


参考资料:http://www.cnblogs.com/tankxiao/archive/2012/04/25/2349049.html#ScriptEditCookie

http://xdebug.org/docs/remote

http://docs.telerik.com/fiddler/KnowledgeBase/FiddlerScript/ModifyRequestOrResponse