记一次使用Fiddler抓包工具抓取Https协议数据的踩坑过程

简介: 记一次使用Fiddler抓包工具抓取Https协议数据的踩坑过程

原文链接: segmentfault.com


记一次使用Fiddler抓包工具抓取Https协议数据的踩坑过程

前言

记得从刚入门前端第一天开始,当时的师傅就跟我介绍了一个可以抓取一些必须要在微信浏览器打开的链接的工具Fiddler,主要用来抓取这些网页的源码,确实是非常好用,当然后来知道有了微信开发者工具,可以直接在里面调试之后,就感觉Fiddler的作用好像也没有那么大了。直到今天,突然看到一个有意思的微信H5小游戏。想看下源码了解下具体是怎么实现的。这样我就又重新用起了Fiddler工具,可是一用才发现,除了图片,竟然什么东西都抓不到。后来试了几次之后才发现,这个小游戏比较刁,不仅做了微信的登录授权,而且做了手机端访问的判断,更甚至竟然用的还是https协议的网页。于是我试着在网上找了解决方案才发现原来Fiddler工具默认是不能抓取https协议的,但是通过设置以及在对应设备上安装证书就可以实现抓取https。


踩坑开始

我照着网上的教程,这里发个教程贴。这个教程文章写的很详细,基本上将怎么安装Fiddler,怎么配置代理,怎么手机上安装证书,都写的很清楚。然而尴尬的是,我照着这篇文章去做,最后试着在手机上打开我想要抓取的那个H5小游戏的链接,发现依旧什么都抓不到。于是,我又在网上搜。发现有篇文章介绍了Fiddler有个log工具,会将所有的抓取记录,包括保错信息都会在log里面打印出来。

通过查看log记录,我终于找到我每次打开Https协议的链接时,所报的错误信息。大概如下。

!ERROR: Failed to generate Certificate using CertEnroll. System.Reflection.TargetInvocationException 调用的目标发生了异常。

紧接着,我照着这个错误信息,又在网上找了解决方案,终于找到一个链接.fiddler2.com/r/?fiddle..…

这个链接,应该是用于重新制造安装Fiddler证书的作用,打开这个链接之后,会在你的电脑上面重新安装fiddler证书,然后再照着我上面所发的教程链接里面的步骤,重新设置,在手机上安装证书。最后重启fiddler。打开https的链接,终于可以抓取到了。

注意事项

除了我上面介绍到的错误信息。还有其他的问题我也介绍下。

1、最好在最新版的fiddler,不然可能会出问题。

2、ios手机上面打开安装证书的链接后,所安装的证书,在通用里面的描述文件中可以找到。注意下图里面的以验证一定要是打钩的状态,不然好像不能用。

3、ios上安装好了证书,需要给予信任,这样手机上打开的https的链接才可以被fiddler抓取到,ios手机通用里面的关于本机里面的证书信任设置,可以进行信任。

目录
相关文章
|
2天前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
195 0
|
2天前
|
JSON 网络协议 安全
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识
【2月更文挑战第3天】《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识
73 0
|
2天前
|
存储 算法 安全
[计算机网络]---Https协议
[计算机网络]---Https协议
|
2天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
2天前
|
网络协议 安全 算法
HTTP协议与HTTPS协议
HTTP协议与HTTPS协议
|
2天前
|
网络协议 安全
【专栏】`curl`是广泛用于网络编程和自动化脚本的命令行工具,支持HTTP、HTTPS等协议
【4月更文挑战第28天】`curl`是广泛用于网络编程和自动化脚本的命令行工具,支持HTTP、HTTPS等协议。在处理大文件或慢速服务器时,设置超时参数至关重要。本文介绍了`curl`的超时参数,如`-m`(最大操作时间)、`-c`(连接超时)、`--dns-timeout`(DNS解析超时)和`-t`(时间条件)。通过示例展示了如何设置这些超时,并提到了一些高级技巧和注意事项,如错误处理和带宽限制。合理设置超时能提高效率和可靠性,对编写健壮的自动化脚本非常有用。
|
2天前
|
安全 网络安全 数据安全/隐私保护
HTTPS协议
HTTPS协议
22 0
|
2天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
16 0
|
2天前
|
安全 网络安全 数据安全/隐私保护
HTTPS协议详解
HTTPS协议详解
16 1
|
2天前
|
安全 搜索推荐 数据安全/隐私保护
深入探讨HTTPS协议的原理和工作流程
【2月更文挑战第10天】
46 4
深入探讨HTTPS协议的原理和工作流程