原理

fiddler抓包原理

fiddler 调试器注册到操作系统因特网服务中,系统所有的网络请求都会走fiddler的代理,所以fiddler才能抓包。

Debug traffic from any client and browser 
Fiddler helps you debug traffic from any browser: Internet Explorer, Chrome, Firefox, Safari, Opera, and more. Once you start Fiddler, the web debugger registers itself as the system proxy for Microsoft Windows Internet Services (WinINet), the HTTP layer used by Internet Explorer, Microsoft Office, and many other products. As the system proxy, all HTTP requests from WinINet flow through Fiddler before reaching the target web servers. Similarly, all HTTP responses flow through Fiddler before being returned to the client application. 
Additionally, most devices that support Wi-Fi or Ethernet can be configured to send their traffic to Fiddler; this includes iOS, Android, Windows Phone and Windows RT devices.

fiddler解密https原理

其实fiddler就是中间人攻击,依次经过如下过程

  • fiddler接到客户端的https请求,fiddler将请求转发给服务器
  • 服务器生成公钥证书,返回给fiddler;fiddler拦截下真的公钥证书,并生成伪造的公钥证书给客户端;
  • 客户端使用伪造的公钥证书加密共享密钥发送给fiddler,fiddler使用伪造的私钥解密获取共享密钥
  • fiddler将解密后的共享密钥,使用真正的公钥加密发送给服务器端,服务器使用共享密钥与fiddler通信
  • fiddler使用共享密钥与客户端通信

以上是fiddler抓包解密的原理,这个原理是建立在https建立连接的基础上的,请参考https建立连接过程


下面开始抓包设置教程

设置fiddler抓包

File—–>capture traffic

设置抓https和解密https

Tools—–>fiddler options—–>https—–>capture https traffic—->decrypt https traffic—>Ignore server certificate errors—->Actions—–>Trust root certificate—->之后都是确定

安装根证书后,可以点击Actions—–>open windows certificate manager查看安装到系统的根证书 

根证书的作用:fiddler对每个域名都会生成公钥证书,浏览器会用根证书验证公钥证书的合法性,所以,根证书是https 抓包必不可少的部分

效果

我们那支付宝登陆界面做测试,支付宝登陆页面 

常见问题

http tunnel、http connect

有一种情况,host都是tunnel to, url 后边都带着443,这是什么意思呢? 
查看,请求头会发现使用了Connect方法,Connect方法通常会建议代理(fiddler)与目标服务器建立http tunnel;尽管Connect也可以用于http,但是一般是用于SSL通信;

CONNECT www.google.com:443 
  • 1
  • 1

这句话表示,代理与服务器的443端口建立了http tunnel,在此之后,所有由客户端发送的内容,都会经由http 代理,转发给www.google.com:443端口;更多http tunnel&http connect资料可以参考http tunnel&connect

解密失败

有的时候,发现解密失败,这是可以查看connect的log。如图

通过查看响应,我们看到,是由于没有设置解密导致的,

This is a CONNECT tunnel, through which encrypted HTTPS traffic flows. 
Fiddler’s HTTPS Decryption feature is enabled, but this specific tunnel was configured not to be decrypted. Settings can be found inside Tools > Fiddler Options > HTTPS. 
A SSLv3-compatible ServerHello handshake was found. Fiddler extracted the parameters below.

Tools > Fiddler Options > HTTPS,选中解密https,选择正确的来源,解密成功。 

当然,如果不想显示Connect,你也可以设置rules----->hide connects 隐藏connect;

如果还是解密失败,可以查看Log标签页,错误信息都会在这里边显示。 

抓不到手机微信

有网友跟我说,抓不到手机微信的数据,这是因为,微信走的http2协议,fiddler不支持http2协议,所以用wireshark抓,但http2也是加密的,所以抓到的数据看不懂。 

参考资料: http://blog.csdn.net/wangjun5159/article/details/52198842

fiddler https 抓包相关推荐

  1. fiddler教程:抓包带锁的怎么办?HTTPS抓包介绍。

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍Fiddler的HTTPS抓包功能." 这里首先回答下标题中的疑问,fiddler抓包带锁的原因是HTTPS流量抓包功能开启, ...

  2. android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...

    一.HTTP协议和HTTPS协议. (1) HTTPS协议=HTTP协议+SSL协议,默认端口:443 (2) HTTP协议(HyperText Transfer Protocol):超文本传输协议. ...

  3. Fiddler手机抓包,及HTTPS协议抓包【手机如何安装fiddler证书,以华为为例】

    [推荐使用]使用安卓模拟器手机抓包配置[夜神模拟器为例]: 第一步:只要你在本地电脑可以访问ip地址:端口8888[如:http://192.168.2.102:8888/]可以访问,那么在模拟器就直 ...

  4. Fiddler对https抓包时,提示HTTPS decryption is disabled.原因及破解

    Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...

  5. fiddler app https抓包

    fiddler手机抓包原理 fiddler手机抓包的原理与抓pc上的web数据一样,都是把fiddler当作代理,网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角 ...

  6. Https/Tcp抓包工具Charles、fiddler,ping (网络诊断工具),Android平台HTTPS抓包解决方案及问题分析HttpCanary

    市面上已经有一些弱网络模拟工具,比如微软的Network Emulator for Windows Toolkit(NEWT),Facebook的Augmented Traffic Control(A ...

  7. 支付宝二维码可以抓包更改金额_用fiddler对手机上的app程序进行https抓包 - 365学习...

    用fiddler对手机上的app程序进行https抓包,网上有很多的资料,这里写一下来进行备用. 前提: 1.必须确保安装fiddler的电脑和手机在同一个wifi环境下 备注:如果电脑用的是台式机, ...

  8. 使用Fiddler抓HTTP/HTTPS包,Android7.0以后https抓包失败问题

    原博客地址:https://www.52pojie.cn/thread-967606-1-1.html 抓包的重要性 网络抓包,是Android应用逆向分析的重中之重,很多时候我们拿到一个APP,不知 ...

  9. fiddler设置https抓包

    代理端口设置:127.0.0.1:8888 https抓包设置 模拟post请求: http://xxx.xxxx.com/portal/login.htm Cookie: xxxx account= ...

最新文章

  1. pytorch 数据加载为python提供了cpu全速跑跑其他任务的能力
  2. ASP.NET前台JS与后台CS函数如何互相调用
  3. f-GAN简介:GAN模型的生产车间
  4. 校招萌新在阿里妈妈是如何成长的
  5. 腾讯视频下载官方_腾讯视频评论在哪
  6. Err:ClassNotFoundException: org.apache.tomcat.util.log.SystemLogHandler
  7. PostgreSQL-4-DML数据操纵语言
  8. qt 界面控件布局
  9. paip.日志中文编码原理问题本质解决python
  10. 整理的敏感词解决思路
  11. 多多自走棋改动_多多自走棋7.24更新 棋子和装备改动一览
  12. 使用视频追踪算法研究物体运动轨迹
  13. Android 判断通知栏是否打开及前往设置页面
  14. postfixcalc函数 java_结对编程--四则运算(Java)萧英杰 夏浚杰
  15. 盛铭轩电商:详情页优化
  16. 开放创新,合作共赢 华为智慧家庭解决方案
  17. Obsidian学习从0到1 —— Dataview
  18. python读取文件内容并操作_Python实现的读取文件内容并写入其他文件操作示例
  19. The 19th Zhejiang Provincial Collegiate Programming Contest 2022浙江省赛 (A/B/C/G/L/I)
  20. C++数据结构——小明的通讯录(哈希表线性探测法)

热门文章

  1. element-ui实现表格分页和搜索功能
  2. 将IDEA中java代码提交到gitee码云的步骤
  3. c语言订餐系统项目范例,C语言订餐系统.doc
  4. SSM出租车查询系统 毕业设计-附源码220915
  5. 哈工大软件构造期末知识点总结
  6. 【汽车配件管理系统-管理员-配件管理模块】配件管理分类
  7. AUTOCAD——图形单位与图形边界
  8. 【总结】python sklearn模型中random_state参数的意义
  9. 前端学习与工作中常用网站推荐
  10. JMETER进行REST API测试(分步指南)