监控Android模拟器的HTTP

如何监控Android模拟器的HTTP访问情况 前几个月,在调试某个应用时,需要监控应用与服务器之间的HTTP通讯。从搜索引擎找到的方案几乎全错。要么是人云亦云,要么是只能满足旧的平台版本,要么根本就是臆测。不得其解之际,用比较复杂的方法解决了。昨天想起来,觉得太过窝囊,于是重整旗鼓,终于在官方文档上找到一点启发。把真正能解决问题的方案写下来,一方面给同样遇到问题的朋友一点帮助,另一方面也是提醒自己,官方文档是解决问题的第一方案,但读文档也有讲究。不读文档、不思考,一遇问题就上网搜,结果大概都会事倍功半。 阅读详情
 问题场景:在调试某个应用时,需要监控应用与服务器之间的HTTP通讯.

  解决思路:第一时间想到Fiddler2.Android官方文档提到用TCPDump获得通讯封包或实时监控,好是好,有点高射炮打蚊子的意思.Fiddler2这个工具,界面友好,功能足够使用,可以说是Windows上最好的HTTP监控工具.Fiddler2用起来很方便,运行之后,即在本机建立一个代理(缺省设置为127.0.0.1:8888),其他访问HTTP的应用程序,把代理设为同一地址和端口即可.

  实施过程:

  按照文档的指导,在启动模拟器时,使用 -http-proxy参数,设置127.0.0.1:8888为模拟器的上网代理,结果失败.Fiddler2没有抓到通讯应答.

  解决方案:

  再细读文档中有关模拟器的部分,看到Network Address Space一段,忽有所悟.这段文字是这么写的

    模拟器在虚拟路由器/防火墙服务后面运行,这套路由器/防火墙服务隔离于开发机的网络界面、设置,也与互联网相隔离.模拟设备不能访问开发机或网络上的其他模拟器.它看到的只是自己通过以太网连接到一个路由器/防火墙.

  这下清楚了,模拟器压根不知道127.0.0.1是个啥地址,也压根访问不到.在127.0.0.1上设置的代理,自然也抓不到任何通讯应答了.文档接着写道,这个虚拟防火墙/路由器管理从10.0.2.2至10.0.2.24,模拟器的IP地址是10.0.2.15,而模拟器看到的开发机地址则是10.0.2.2.也就是说,从模拟器的立场看,Fiddler2是在10.0.2.2上运行的.

  于是用emulator命令加上avd -http-proxy 10.0.2.2:8888参数启动模拟器,在模拟器上运行browser,访问任何web地址,可以看到,Fiddler2抓到了HTTP通讯:

java代码:
  1. private HttpURLConnection createConnection(URL url){

  2. HttpURLConnection conn=null;

  3. try {
  4. conn=(HttpURLConnection)url.openConnection();
  5. } catch (IOException e) {
  6. e.printStackTrace();
  7. }

  8. return conn;
  9. }
复制代码

       这次Fiddler2没能抓到通讯。但应用程序访问网页是成功的。只在启动模拟器时加上-http-proxy参数还不够,应用程序创建连接时,也要指定HTTP代理才行:

java代码:
  1. private HttpURLConnection createConnectionWithProxy(URL url, String proxyAddress, int proxyPort) {

  2. HttpURLConnection conn = null;

  3. Proxy proxy=new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyAddress,proxyPort));

  4. try {
  5. conn = (HttpURLConnection) url.openConnection(proxy);
  6. } catch (IOException e) {
  7. e.printStackTrace();
  8. }

  9. return conn;
  10. }
复制代码
r0capture抓包安卓模拟器教程(内含frida安装教程) r0capture抓包安卓模拟器教程,包含frida安装教程 阅读详情

相关推荐

通过python抓取app数据

环境-Windows下搭建开发 Android模拟器的安装及介绍 安卓模拟器的安装 夜神安卓模拟器,是全新一代的安卓模拟器,与传统安卓模拟器相比,基于Android4.4.2,兼容X86/AMD,在性能、稳定性、兼容性等方面有着巨大优势 下载地址:https://www.yeshen.com/ 安装App 安装App,可以直接通过应用中心来安装,如果在应用中心没有搜索到要安装的App,可以下载相应的APK文件 fiddler软件介绍 常见App抓包软件对比 Fiddler 抓包软件介绍 fiddler是

littlespider889的博客 884

使用fiddler监控android模拟器网络访问情况的注意事项

参考文章 设置Android emulator网络设置, 使用fiddler监控android模拟器网络。--------------------------------------------------老文章:参考文章用Android emulator命令加上avd -http-proxy 10.0.2.2:8888参数启动模拟器。或者,eclipse ADT开发环境中,命令行环境 -http

杨江的IT分享专栏 3579

告别抓包失败:雷电模拟器+Charles+ProxyDroid组合拳详解,专治安卓7.0+网络代理疑难杂症

本文详细解析了安卓7.0及以上版本的网络抓包挑战,提供了一套基于雷电模拟器、Charles和ProxyDroid的完整解决方案。通过系统证书改造、多层级代理配置和高级调试技巧,有效解决了高版本安卓系统的抓包难题,适用于移动应用开发与测试场景。

weixin_33744141的博客 463

Charles 抓包夜神模拟器,实现对App网络请求的监控

移动端的开发相对于Web开发,有一个很大的缺陷就是看不到网络请求。Web端开发,可以在控制台轻松看到所有的网络请求,测试人员能轻松看出来接口是否有问题。但是移动端就比较麻烦,需要代理网络请求进行抓包,多少麻烦,之前有过一个抓包工具,配置了半天也没有抓取到。偶然遇到了Charles这个抓包工具,用起来觉得很方便,这里分享一下安装和用法。...

做GIS梦的人 2504

Reqable在Android模拟器流量分析中的核心价值与实践

网络流量分析是移动应用开发和测试中的关键技术,尤其在HTTPS加密通信普及的今天,传统的抓包工具如Fiddler或Charles配置复杂且对HTTPS解密存在门槛。MITM(中间人)代理技术通过拦截和解析加密流量,为开发者提供了强大的调试手段。Reqable作为新一代跨平台抓包工具,通过创新的MITM方案,实现了对Android模拟器流量的无痛捕获与分析,特别适合金融类App等对安全性和性能要求较高的场景。其核心优势包括一键式HTTPS解密、完备的协议兼容性(支持HTTP/2和HTTP/3)以及多端协同能力

a1311010193的博客 382

监控Android模拟器的HTTP访问情况及编程实现

在开发和测试Android应用程序时,监控模拟器的HTTP访问情况是一项重要的任务。通过设置Android模拟器的代理并使用Charles Proxy工具,我们可以方便地监控模拟器的HTTP访问情况。为了监控Android模拟器的HTTP访问情况,我们将使用一种名为Charles Proxy的工具。为了以编程方式监控Android模拟器的HTTP访问情况,我们可以使用Charles Proxy提供的API。首先,我们需要在Android模拟器中设置代理,以便将所有的网络请求重定向到我们的监控程序。

CodeByte的博客 815

Charles抓包安卓模拟器

控制台切换到目录 ...\Android\AndroidSdk\tools 输入命令 emulator -avd <设备名称> -http-proxy http://<本机地址:端口号> 示例代码 emulator -avd PixelAPI24 -http-proxy http://192.168.10.25:8888 设备名称 有空格的话用下划线_代替...

jifenglie的博客 4915

Android网络状态实时监控组件实现指南

本文还有配套的精品资源,点击获取 简介:在网络监控是Android应用中关键功能的背景下,本文将详细介绍如何实现名为"NetworkStatusMonitor"的组件,该组件负责实时获取并处理Android设备上的网络连接状态变化。文章内容包括使用网络状态监控API、利用BroadcastReceiver和NetworkCallback实现高效网络监听、网络类型和状态的识别...

weixin_42583683的博客 1230

使用 Fiddler 对android模器进行Http监控(转)

使用 Fiddler 对android模器进行Http监控先来张效果图 1、首先,确保安装 Fiddler 的电脑和手机在可以互相访问的局域网内。因为要将手机的代理指向 PC 机,不能互相访问是不行的。 2、Fiddler 开启远程连接。Fiddler 主菜单 Tools -&gt; Fiddler Options…-&gt; Connections 页签将允许远程电脑连接打勾;上面的的端口号无需...

weixin_33853794的博客 142

别再只用固定线了!聊聊Android车机‘快速倒车’与‘正常倒车’的UI与数据流核心差异(附动态轨迹线实现原理)

本文深度解析Android车机中快速倒车与正常倒车的核心差异,探讨从内核级视频流水线到动态轨迹线的技术实现。快速倒车通过内核直接操作FrameBuffer实现2秒内响应,而正常倒车则支持多传感器数据融合与动态UI元素。文章还分享了动态轨迹线的算法实现与性能优化技巧,帮助开发者打造极致的倒车体验。

weixin_42550597的博客 255

底层软件测试规范,QA评审底层测试

本文首发于【林子的空间】“林子,咱们上次讨论的高效Desk check清单,用起来还挺好的,最近我们组每次Desk check变得顺利多了,Dev也是越来越熟练。”玥玥跟我说。“真好!我们组感觉也是这样!”“不过,我听小慧说他们组有人对QA review UT提出了一些concern(质疑),觉得QA review的价值不大,基本都是Dev给讲一遍,QA也提不出来什么反馈...”玥玥补充说道。“哦...

weixin_42144707的博客 1189

如何让Fiddler2监视安卓模拟器

CONFIGURING FIDDLER First we need to configure Fiddler to accept traffic from the emulator. In this case I am running Fiddler on the machine that is also hosting the emulator.   1. Start Fiddler ...

u011788209的博客 352

电子工程师必看:2024年IPC-A-610J和J-STD-001J新标准到底更新了啥?

本文深入解析2024年IPC-A-610J和J-STD-001J新标准的核心更新,重点关注电子制造领域的验收标准与工艺参数变化。新版标准强化了高密度组装和微焊接工艺的规范,包括焊料润湿角调整、BGA空洞率严格化等关键变更,为电子工程师提供实用指南。同时关联IPC-7711/21D和IPC-2221C的配套更新,助力企业快速适应新标准要求。

weixin_33694620的博客 795

闲鱼app关键词抓包案例,配合frida成功抓包

​ 启动frida 如果在cmd窗口里的包列表里看到闲鱼就代表启动成功了 下面是我整理的一些启动命令: 启动hook脚本 看到这个说明已经hook到implementation方法的返回值了,返回false就会走http协议 hook思路很重要,用jadx反编译下apk查看源码,很容易可以看到要hook的包名类名 成功HOOK,成功抓包! 此时再刷新闲鱼搜索页面,就可以看到fiddler抓到包了 视频: 抓包验证 总结: 到此已经可以实现关键词监控等功能了,如需更复杂的功能如下单等功能,还需要查看反编译

weixin_44223957的博客 8127

MTK(基础篇)ROM烧录以及分区的作用

本文介绍了MTK芯片设备的刷机流程及关键分区功能。首先通过MTK烧录工具加载ROM文件(包括引导文件和分区表),重点解析了各分区的核心作用:preloader类似BIOS负责硬件初始化;lk作为二级引导程序加载内核;vbmeta验证系统完整性;boot包含Linux内核;dtbo调整硬件配置;modem管理通信功能;tee保护生物识别数据;system/vendor分别存放系统核心和硬件驱动。特别指出preloader、vbmeta等关键分区损坏会导致设备变砖,而recovery分区是重要的救砖入口。全文简

weixin_49303682的博客 445

SAP Business Technology Platform 支持的技术栈

SAP Business Technology Platform(简称 BTP)是 SAP 提供的一个综合技术平台,旨在帮助企业实现业务转型和创新。BTP 融合了数据库管理、应用开发、集成、分析和智能技术,为企业提供从基础架构到端到端应用的全面服务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1568

[Android实例] 【eoeAndroid社区索引】android网络通信之HTTP协议教程实例汇总

http://www.eoeandroid.com/thread-167916-1-1.html   一、HTTP基础 1、网络开发必备的HTTP协议知识 http://www.eoeandroid.com/thread-83496-1-1.html 2、Http和Socket区别 http://www.eoeandroid.com/thread-96927-1-1.html

a846528947的专栏 412

《我的Classic Platform AUTOSAR之路》 BSWM 模式管理(二)ESH

只有 PostRun 和 wakeup 才能切换到 RUN,其他状态需要先切换到 wakeup 模式。进入 RUN 模式需要打开通信 allow,退出 Run 需要 disable 通信 allow。Prepareshut 与 dem_shutdown 绑定,如果没有 dem 配置,不会生成。除了 Init 模式下,其他模式下都要检查 ECU 的唤醒源和通信 pending 需求。与 ECUM 相关,整个 ECU 状态管理的状态机制。postrun 可以不配置,需要根据自己的需求使能。

libuping2023的博客 965
上一篇: 耶鲁与MIT的共享课程
下一篇: TCPDUMP for Android(抓TCP数据包工具)
code_farmer
博客等级 码龄22年 9粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值