Home  >  Article  >  Backend Development  >  使用fiddler抓安卓APP数据包并调试PHP程序

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

WBOY
WBOYOriginal
2016-06-23 13:43:08971browse

我有个这样的需求

要在安卓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




Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn