在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手机网络请求抓包
配置PC端Fiddler和手机
(1) 配置Fiddler允许监听https
打开Fiddler菜单项Tools->Fiddler Options,选中decrypt https traffic和ignore server certificate errors两项,如下图:

fiddler https options
第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。

(2) 配置Fiddler允许远程连接
如上图的菜单中点击connections,选中allow remote computers to connect,默认监听端口为8888,若被占用也可以设置,配置好后需要重启Fiddler,如下图:

(3) 配置手机端
Pc端命令行ipconfig查看Fiddler所在机器ip,本机ip为10.0.4.37,如下图
ipconfig

打开手机连接到同一局域网的wifi,并修改该wifi网络详情(长按wifi选择->修改网络)->显示高级选项,选择手动代理设置,主机名填写Fiddler所在机器ip,端口填写Fiddler端口,默认8888,如下图:
android network proxy

这时,手机上的网络访问在Fiddler就可以查看了,如下图微博和微信的网络请求:

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

可以发现Fiddler可以以各种格式查看网络请求返回的数据,包括Header, TextView(文字), ImageView(图片), HexView(十六进制),WebView(网页形式), Auth(Proxy-Authenticate Header), Caching(Header cache), Cookies, Raw(原数据格式), JSON(json格式), XML(xml格式)很是方便。

停止网络监控的话去掉wifi的代理设置即可,否则Fiddler退出后手机就上不网了哦。

如果需要恢复手机无密码状态,Android端之后可以通过系统设置-安全-受信任的凭据-用户,点击证书进行删除或清除凭据删除所有用户证书,再设置密码为无。

如果只需要监控一个软件,可结合系统流量监控,关闭其他应用网络访问的权限。

利用Fiddler对Android手机网络请求进行抓包相关推荐

  1. fiddler 只监听模拟器_利用Fiddler对Android模拟器网络请求进行抓包【转】

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

  2. fiddler手机模拟器抓包_利用Fiddler对Android模拟器网络请求进行抓包

    粉笔网iPhone端使用的第三方开源库 粉笔网iPhone端使用的第三方开源库 前言 最近有朋友问我粉笔网 iPhone 端使用了哪些第三方的开源库.我在这儿整理了一下,分享给大家. ASIHttpR ...

  3. Android手机使用代理(抓包)

    在开发中,我们经常移动遇到想看别人app的接口是什么样子,那是自己却没有地方下手,现在就整理一下如果操作,其实是非常简单的 通过代理来获取接口URL 1.我是台式机,所以我自己买了一个"小度 ...

  4. 青花瓷抓包工具如何对Android手机https请求抓包及华为手机安装Charles证书方法详解!

    网上搜索了很多文档,这两篇是写的比较全面的,整个流程看完,你就会安装使用了! 参考:windows下使用Charles工具如何对android手机https请求进行抓包 参考:Android安装Cha ...

  5. android okgo 网络请求框架

    OkGo - OkHttpUtils-2.0.0升级后改名 OkGo,全新完美支持RxJava 项目地址:https://github.com/jeasonlzy,欢迎star,欢迎issue 该库是 ...

  6. 如何监控手机网络请求

    如何监控手机网络请求 A.postman B.charles C.zan-proxy D.无法做到 E.不知道 面试写的是E,我觉得我脑子被吃了.... 一.Fiddler是位于客户端和服务器端之间的 ...

  7. Android okHttp网络请求之缓存控制Cache-Control

    前言: 前面的学习基本上已经可以完成开发需求了,但是在项目中有时会遇到对请求做个缓存,当没网络的时候优先加载本地缓存,基于这个需求我们来学习一直okHttp的Cache-Control. okHttp ...

  8. android之网络请求 -- 获取RecyclerView的列表项(图片 + 文字)

    android之网络请求 -- 获取RecyclerView的列表项 示意图,网络请求的地址,插件及依赖 代码架构 代码内容 MainActivity.java activity_main.xml R ...

  9. 【小王的安卓之路】Android原生网络请求

    Android原生网络请求 一. 网络请求的必要性 二. 网络请求分类 三. 网络请求实现方法 四. 注意事项 一.网络请求的必要性: 如今单机APP早已经接近消失就连最简单的时钟日期等软件都需要去请 ...

最新文章

  1. 爬虫实战--爬取1000位小姐姐照片,刷新你三观颜值!
  2. mysql什么格式转换_MySQL日期格式转换
  3. XML 和 JSON 的使用场景
  4. class没有发布到tomcat_Java 类在 Tomcat 中是如何加载的?
  5. PyCharm----快捷键
  6. 黑苹果uhd630黑屏_求助各位图吧大佬一个黑苹果问题(黑苹果吧发帖得四级),目前使...
  7. java中类的方法分为 类方法_Java中类的方法成员分为()方法和实例方法。
  8. python自带笔记本电脑_Python执行速度:笔记本电脑与台式机
  9. Linux 与Windows 7双系统默认引导顺序的修改
  10. JS 函数中arguments的使用
  11. ubuntu中eclipse无法识别android手机问题
  12. DDC 显示器数据通道
  13. Attachments in Oracle Form
  14. html5怎么把文字竖排,艺术字竖排文字怎么设置
  15. linux mint运行速度,Linux Mint 19 Tara Cinnamon启动应用速度将会更快
  16. C#编程基础(初级)(五)——函数,结构函数,委托
  17. 3dmax文件格式转换——.max 转换为 .flt(解决转换后.flt没有纹理贴图的问题)
  18. css -- 为什么:last-child 无效?
  19. 应对焦虑的时候,需要学会一次只解决一个问题
  20. 阵列信号处理——多重信号分类(MUSIC)

热门文章

  1. matlab:Lagrange插值函数构造
  2. 5 端口 10/100 以太网集成交换机 以太网控制芯片 IP175DLF/IP175DLFI
  3. python是哪一年发行_Python概述
  4. ThinkPad Fn快捷键无法使用问题
  5. 耐基梅隆大学教授邢波:Petuum,大数据分布式机器学习平台
  6. java 统计字符串中字符个数_java实现统计字符串中字符及子字符串个数的方法示例...
  7. 密码学的安全性浅析-2
  8. 环保数采仪下环境大气污染远程在线监测
  9. 数字通信介绍(1) 调制
  10. HTML 知识点 小结