首页 > 其他分享 >使用Fiddler对android应用抓包 专题

使用Fiddler对android应用抓包 专题

时间:2022-12-19 19:31:51浏览次数:77  
标签:Fiddler http 请求 fiddler Hosts HTTP android 抓包

 

工作原理

先上个图

​​使用Fiddler对android应用抓包  专题_HTTP​​

此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么。

 

WinInet(“Windows Internet”)API帮助程序员使用三个常见的Internet协议,
这三个协议是用于World Wide Web万维网的超文本传输协议(HTTP:Hypertext Transfer Protocol)、文件传输协议(FTP:File Transfer Protocol)和另一个称为Gopher的文件传输协议。
WinInet函数的语法与常用的Win32 API函数的语法类似,这使得使用这些协议就像使用本地硬盘上的文件一样容易。

 

它实际工作在本机的8888端口http代理,我们启动fiddler时,它会自动更改代理设置:(可以在cmd中输入inetcpl.cpl来打开IE选项)

​​使用Fiddler对android应用抓包  专题_HTTPS_02​​

 

chrome中:

使用Fiddler对android应用抓包  专题_HTTP_03


从此我们可以看出,只要是http的请求,在请求发起离开本机之前都会经过fiddler,当response回来,没有达到实际请求者时,也会经过fiddler:这样我们就可以在轻易的实现修改请求和响应的内容,这样我们就可以轻松的调试现网的程序。

fiddler中打开IE选项:

使用Fiddler对android应用抓包  专题_抓包_04


与其它工具的区别

       firebug、IE和chrome自带的开发者工具:这是前端开发的利器了,它们监听浏览器发起的请求和给浏览器的响应,显示请求数据和响应数据,这个fiddler基本功能一致,但它只是监听,只是对请求和响应数据的记录,而fiddler完全是接管了请求和响应。

前言:对于移动端应用来说,常常是需要进行抓包分析数据参数的,​​Android​​抓包常规想到的解决方案就是通过adb、tcpdump生成抓包文件后,上传至PC端,再通过wirshark查看抓包的数据,但是,对于android应用来说,客户端与服务端的交互更多的是以REST接口服务形式的,多基于HTTP/HTTPS协议,采用tcpdump方式缺点也就比较明显:

1、手机需要root权限

2、操作过程麻烦,且wirshark查看时数据量众多需要过滤

3、分析的是dump后的文件,不是操作客户端时实时交互的数据

因此,本文介绍通过Fiddler进行android抓包,以方便快捷地实现对手机应用进行抓包分析

 

Fiddler简介:Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。

通过Fiddler抓包过程:手机连接WLAN网络——设置HTTP代理——手机所有HTTP访问都经过Fiddler这个中介——访问外面的Web网络

一、工具下载:

Fiddler下载地址:http://www.telerik.com/download/fiddler

二、Fiddler设置
打开Fiddler,     Tools-> Fiddler Options .

切换至HTTPS面板
选中"Decrpt HTTPS traffic",设置Fiddler可以截获HTTPS请求

使用Fiddler对android应用抓包  专题_抓包_05

选中checkbox, 弹出如下的对话框,点击"YES"

使用Fiddler对android应用抓包  专题_HTTP_06

在弹出的对话框 点击"Yes" ,就可以捕获本机的https请求了

使用Fiddler对android应用抓包  专题_抓包_07

 

 

切换至Connections面板
选中"Allow remote computers to connect".允许别的机器把HTTP/HTTPS请求发送到Fiddler上来

使用Fiddler对android应用抓包  专题_抓包_08

配置完后需要按提示重启Fiddler

三、手机设置HTTP代理
1.进入手机设置——无线网络——WLAN选择界面
2.长按某WLAN接入点,点击“修改网络”
3.代理设置处,选择手动,例如输入代理服务器主机名(Fiddler安装所在的机器IP):192.168.1.10,端口:8888

四、捕获HTTPS请求:
这一步是为了让Fiddler能捕获HTTPS请求。如果只需要截获HTTP请求,可以忽略这一步
1. 首先要知道Fiddler所在的机器的IP地址:例如安装了Fiddler的机器的IP地址是:192.168.1.10
2. 打开浏览器, 访问  http://192.168.1.10:8888, 点"FiddlerRoot certificate" 然后安装证书

使用Fiddler对android应用抓包  专题_HTTP_09

五、正常使用客户端或用浏览器打开网页,如果有发起HTTP/HTTPS请求,则在Fiddler中将能看到抓取到的数据

​http://jingyan.baidu.com/article/2a1383289d7792074b134f69.html​​​​http://jingyan.baidu.com/article/2f9b480d81df9241ca6cc258.html​

Fiddler过滤指定域名的方法一

切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,找到Hosts区域,设置以下三个选项:

使用Fiddler对android应用抓包  专题_HTTPS_10


1.Hosts的第一项 有三个子选项,不做更改:
“No Zone Filter”
“Show Only Intranet Hosts”
“Show Only Internet Hosts”

2.Hosts的第二项只监控以下网址,如只监控百度,在下面的输入框里填上 www.baidu.com
“No Host Filter”不设置hosts过滤
“Hide The Following Hosts”隐藏过滤到的域名
“Show Only The Following Hosts”只显示过滤到的域名
“Flag The Following Hosts”标记过滤到的域名

3.文本框内输入需要过滤的域名,多个域名使用”;“分号分割。fiddler默认会检查http头中设置的host,强制显示http地址中的域名。

 

fiddler过滤指定域名的方法二

fiddler_request

使用Fiddler对android应用抓包  专题_抓包_11


1.切换到fiddler右侧窗口的Filters选项卡,勾选顶部的“Use Filters”,根据需要找到request headers或者response headers区域

2.勾选”set request header”,文本框分别输入”Host”和”要过滤的域名”




 



标签:Fiddler,http,请求,fiddler,Hosts,HTTP,android,抓包
From: https://blog.51cto.com/u_15147537/5953748

相关文章

  • 《“透视”个人大数据》项目开发小记 --(三)Android APP 开发(4)自定RelativeLayout实现通
       在开发项目的APP中,图片是重要表现形式,对图片进行适当的编辑(裁剪,设置聚光区,添加文字及图形标记等),可以增强图片的表现力。为了便于操作使用,APP中通过自定Relative......
  • Android Native注册
    JNI_OnLoad中注册//NativeOnLoad.cpp#include<jni.h>externjintregister_com_example_anative_HardwareName(JNIEnv*);jintJNI_OnLoad(JavaVM*vm,void*reser......
  • 项目升级到Android31版本dlopen找不到系统so库文件
    简介最近有个海外项目需要把之前项目从30版本升级到31版本,升级后发现就发现一个问题:因为我们的项目是系统签名的apk,所以集成到系统中后是没有任何问题的,但是当我们手动安......
  • Android中添加set文件
    一般情况下,set文件在anim目录下面,如果没有anim目录,就新建一个。1.右键点击anim,选择new->AnimationResourceFile2.选择类型为set,点击OK即可3.一个例子 ......
  • Android微信智能心跳方案
    前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援。刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析。我和春哥抓包测试了差不多......
  • Android Studio使用Mob实现短信验证功能遇到的问题解决
    一、Mob短信验证​​全球领先的数据智能科技平台-MobTech袤博解决​​进行注册登入 登入成功后,点击开发者服务中的短信验证,进入开发者平台填好信息创建成功后显示下图,可以......
  • wireshark抓包后内容分析
    wireshark抓包后内容分析一、封装分析1、协议概览2、总体概览3、帧的封装和细节     ......
  • android view
    ReactNative已经封装了大部分最常见的组件,譬如ScrollView和TextInput,但不可能封装全部组件。在这个例子里,我们来看看为了让JavaScript中可以使用ImageView,需要做哪些......
  • (转)android:自定义ToolBar详解
    今年(2014)的googlei/o发表令多数人为之一亮的materialdesign,而google也从「googlei/o2014」开始,大家也陆陆续续地看到其更新的androidapp皆套用了这个设计介......
  • (转)Android studio debug 技巧介绍
    写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 ​​EvaluateExpression​​,......