利用Fiddler对Android模拟器网络请求进行抓包

本文介绍了如何使用Fiddler工具对Android模拟器的网络请求进行抓包,包括Fiddler的基本使用方法和设置步骤。

http://www.jianshu.com/p/7135afa4a828

利用Fiddler对Android模拟器网络请求进行抓包

字数685 阅读3530 评论4

在Android的开发调试过程中,特别是针对网络编程的情况,很多时候我们希望能够对Android的网络请求进行抓包,用来定位以及分析我们程序的问题。下面我介绍使用Fiddler对Android模拟器的网络请求进行抓包的方法。

Fiddler介绍
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

安装使用Fiddler

下载安装Fiddler的方法这里就略过了,一路Next就行了。装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了。Fiddler默认的代理地址是127.0.0.1,端口是8888。此时打开IE浏览器,默认是通过代理地址上网的,所以可以对所有网络访问抓包。

对Android模拟器网络请求抓包

我使用的Android模拟器是Genymotion模拟器,使用Android原生模拟器的朋友,其使用方法大体相同,不同之处会标明。

1.打开模拟器设置(Settings),点击Wi-Fi。


模拟器设置界面

2.长按WiredSSID,选择Modify network(修改网络)


修改网络设置

3.勾上Show advanced options,输入代理服务器地址和端口(关键)。


输入代理地址


注意:代理地址和端口的设置是关键,Genymotion模拟器中ip为10.0.3.2,Android模拟器中ip为10.0.2.2,端口为FIddler监听的端口,默认为8888,最后保存确认。

Android模拟器网络请求抓包测试

经过以上的设置,Fiddler就可以抓包到Android模拟器的网络请求了。使用Android原生浏览器打开网页,测试通过。


测试Android网络访问

Fiddler抓包结果


今天的介绍就到此为止了,以上只是Fiddler的基本使用,其实还有域名过滤呀之类的,朋友们可以在使用的过程中自己摸索,我后面会再写一篇更加详细的Fiddler使用介绍,觉得有用的朋友请点个赞,谢谢!


### 使用FiddlerAndroid模拟器中运行的应用程序进行抓包 #### 配置Fiddler以捕获HTTPS流量 为了能够成功拦截并查看来自Android模拟器网络请求,需确保Fiddler已准备好处理这些数据流。这涉及到允许其捕捉HTTPS通信以及安装必要的根证书来解密加密的数据传输。 对于此目的,在Fiddler界面内应执行如下操作:点击右上方位置处的选项菜单,进入`HTTPS`标签页之后选中`Capture HTTPS traffic`复选框,并按下`Trust root certificate`按钮完成信任设置[^2]。 #### 设置Windows系统的代理服务器 为了让Android模拟器能识别到由Fiddler创建的本地代理服务端口,默认情况下通常是8888,需要调整计算机上的Internet连接属性以便让所有HTTP(S)请求都经由此路径转发给Fiddler分析工具。具体做法是在控制面板里的网络和共享中心更改LAN参数下的代理服务器配置[^1]。 #### 修改Android模拟器环境变量 针对特定版本如基于安卓7.0及以上构建而成的虚拟设备而言,则要额外设定一些系统级别的环境变量使得它们知晓外部存在这样一个中间件用于监控进出本机的所有互联网活动。通常来说就是向命令行输入类似下面这样的指令: ```bash adb shell settings put global http_proxy <host>:<port> ``` 这里的`<host>`应当填写宿主机IP地址而`<port>`则对应于之前提到过的默认值即8888;当然如果实际使用的并非标准情况,请替换为相应数值。 #### 安装CA证书至模拟器内部存储空间 由于启用了SSL/TLS协议层面的安全措施,所以还有一项重要工作就是在目标平台上导入由Fiddler自动生成的一份权威机构签发的信任凭证文件——DO_NOT_TRUST_FiddlerRoot.crt。可以通过拖拽方式将其传送到AVD(Android Virtual Device)之中再按照提示一步步确认直至最终生效为止。 #### 测试验证过程是否顺利达成预期效果 最后一步便是实践检验整个流程的有效性了。启动任意一款具备联网特性的第三方软件客户端尝试发起GET/POST之类的常规动作看看能否正常显示详细的交互记录列表出来供后续审查之用。比如可以直接采用内置Webkit渲染引擎驱动的传统型浏览组件加载指定URL链接作为简易测试案例。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值