使用fiddler抓安卓APP数据包并调试PHP程序
来源:互联网 发布:程序员个人简介 编辑:程序博客网 时间:2024/06/07 03:05
我有个这样的需求
要在安卓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
修改主机的fiddler 脚本
if (oSession.HostnameIs("117.34.72.xxx")) {
oSession.host="192.168.1.7:8080";
}
ps:经测试 通过cookie触发的xdebug模式,需要第一个cookie就是XDEBUG_SESSION 才能触发,否则不会触发调试模式
通过curl触发可以使用如下命令
curl -H "Cookie: XDEBUG_SESSION=1 "
- 使用fiddler抓安卓APP数据包并调试PHP程序
- Fiddler抓取APP数据包
- Fiddler抓取手机APP数据包
- Fiddler抓取手机APP数据包
- Fiddler抓取手机APP数据包
- 使用Fiddler抓取模拟器APP的请求,并转发到本地调试
- Fiddler调试Android APP
- 使用Fiddler抓取Android数据包
- 使用Fiddler抓取手机数据包
- 利用Fiddler抓取Android中的app数据包
- 利用fiddler抓取Android app数据包
- 利用fiddler抓取Android app数据包
- 图解Fiddler如何抓手机APP数据包
- 利用fiddler抓取Android app数据包
- Fiddler抓取手机APP的数据包
- 使用Fiddler抓取数据包 安装配置
- HTTPS-使用Fiddler抓取HTTPS数据包原理
- 使用fiddler代理抓取手机数据包
- 亿级Web系统搭建——单机到分布式集群
- Sybase 还原过程中遇到的问题 20141219
- Android进入本地文件管理器及不同文件查看
- YII2 GridView联表搜索,排序
- Mac环境下服务器环境搭建
- 使用fiddler抓安卓APP数据包并调试PHP程序
- Android textView字体自定义结合HTml
- Princeton Algorithms: Part 2 [week 7: Final Exam Part II]
- PHP控制中奖概率的抽奖算法
- 获取对象中字段的get和set方法
- Magento添加Facebook/Pinterest open graph meta,Google商店Feed
- 单向链表是否有交点以及查找交点
- Mnesia数据库集群(基础)
- MyEclipse中创建WEB工程,运用<img>标签显示图片等,但无法显示问题