使用Fiddler对Android 手机App进行抓包

1. Fiddler工作原理

Fiddler工作于OSI七层模型的应用层,Fiddler在浏览器和服务器之间建立了一个代理服务器,它可以捕获通过的http(s)请求。Fiddler启动后,会自动将代理服务器设置成本机,默认端口为8888

Fiddler不仅能记录PC上浏览器的网络请求数据,还可以记录同一局域网中其他设备的http(s)请求数据。数据传递流程大致如下:

 

 

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

安装后打开Fiddler,界面是这样的:

 

3.Fiddler默认配置是抓取不了https的报文,会提示“您的连接不是私密连接”。如果抓取的是https报文,需要修改一下Fiddler的配置,并重启保证设置生效

(1)抓取主机的https报文

 

(2)抓取手机App的https报文

  1)下载Fiddler证书到电脑桌面

  •   步骤:Fiddler 主菜单 Tools --> Options-->HTTPS-->Actions-->Export Root Certificate to Desktop,结果如下。

  

 

 

 

 

 

 

 

 

 

 

 

 

 

  •   可以看到桌面上有一个证书文件:

 

  2)安装Fiddler证书到手机上

  •   使用微信或者其他方式发送Fiddler证书到手机上,并安装

 

  •   查看证书是否已安装

  步骤:设置-->安全-->更多安全设置-->加密与凭据-->受信任的凭据-->用户

 

   

  结果:可以看到已安装的Fiddler证书

 

4.开启Fiddler的远程连接,Fiddler 主菜单 Tools --> Options--> Connections页签,选中Allow remote computers to connect,并记住端口号为8888,等会设置手机代理时需要。

设置好后重启fiddler保证设置生效。设置如下:

 

 

 5. 查看电脑IP,在cmd中输入ipconfig

 

6. Android 手机上设置代理

(1)长按连接的Wifi,点击修改网络(Modify network

 

 

(2)Android手机设置代理并保存

  1)Proxy选择手动(Manual

  2)输入主机名(Hostname),即上面电脑的IP

  3)输入端口号(Port),即Fiddler默认的端口号8888

 

7. 设置完毕,在手机端对App进行操作,可以看到Fiddler上抓取了对应的网络请求和响应。

  •   启动京东App,可以看到Fiddler上已经抓取到相应的https包了。

 

 

posted @ 2021-11-10 09:49  娜小知  阅读(2530)  评论(2编辑  收藏  举报