一、Fiddler
1.1 Fiddler抓取HTTPS设置
1.1.1 配置证书
Tools菜单 —> Options —> HTTPS —> 勾选Decrypt HTTPS traffic选项。
- 说明:
勾选Decrypt HTTPS traffic选项:
Decrypt HTTPS traffic:意思是解密HTTPS流量(请求)。
然后会弹出一个对话框,如下图:
意思是:为了能够拦截HITTPS通信,Fiddler生成了唯一的根证书。您可以将Windows配置为信任此根证书,以禁止显示安全警告。单击 “是” 以重新配置Windows的受信任CA列表。
然后接着弹出对话框如下:点击 是 ,确认安装此证书。
是否确认将证书添加到计算机根目录列表?点击 是 。
最后提示:成功将Fiddler的根证书添加到计算机根列表中。
1.1.2 勾选设置
当勾选Decrypt HTTPS traffic选项的时候,会提示你安装证书,安装好证书之后,HTTPS选项界面如下:
继续 勾选Ignore server certificate errors (unsafe) 选项:忽略服务器证书错误(不安全)。
之后点击OK就可以抓取HTTPS的请求了。
1.2 HTTPS选项界面说明
Fiddler Classic can decrypt HITTPS sessions by re-signing traffic using self-generated certificates. | Fiddler可以使用自行生成的证书对流量进行重新签名,从而对HITTPS会话进行解密。 |
---|---|
Capture HTTPS CONNECTs |
建立HTTPS连接通信。(这个就是我们之前常看到有tunnel to...443请求的原因,他是HTTPS建立通信时候所发出的请求。我们使用Rules菜单 —> Hide CONNECTs操作,把这些请求隐藏了。) |
Decrypt HTTPS traffic | 解密HTTPS请求。 |
- 下拉列表
from all processes | 抓取所有的HTTPS程序, 包括本机和手机 。 |
---|---|
from browsers only | 只抓取浏览器中的HTTPS请求。 |
from non-browsers only | 只抓取除了浏览器之外的所有HTTPS请求。 |
from remote clients only | 抓取远程的客户端的HTTPS,可以代表手机。 |
Ignore server certificate errors (unsafe) | 忽略服务器证书错误(不安全)。一般勾选上。 |
---|---|
check for certificate reyocation | 检查证书吊销。 |
Certificates generated by CertEnroll engine | 由CertEnroll引擎生成的证书。 |
Skip decryption for the following hosts | 跳过以下主机的解密。 |
- Actions
Trust Root Certificate | 信任根证书。 |
---|---|
Export Root Certificate to Desktop | 将根证书导出到桌面。 |
Open Windows Certificate Manager | 打开Windows证书管理器。 |
Learn More about HTTPS Decryption | 了解有关HTTPS解密的更多信息。 |
Remove Interception Certificates | 删除拦截证书。 |
Reset All Certificates | 重置所有证书。 |
1.4 二次代理原理
1.4.1 代理过程(大概是这样)
- 客户端发送请求:客户端发起网络请求。
- 请求到达 Fiddler:客户端的代理设置已将 Fiddler 设置为代理服务器,请求被发送到 Fiddler。
- Fiddler 接收请求:Fiddler 接收到客户端的请求。
- 请求发送给上游代理:根据你在 Fiddler 中设置的上游代理(Clash),Fiddler 将请求转发给 Clash 上游代理。
- Clash 上游代理处理请求:Clash 上游代理接收到来自 Fiddler 的请求,按照其配置和规则进行处理,并将请求发送给实际的目标服务器。
- 请求发送给目标服务器:Clash 上游代理将请求转发给实际的目标服务器。
- 目标服务器处理请求:目标服务器接收到请求,并根据请求内容进行处理。
- 响应返回给 Clash 上游代理:目标服务器生成响应,并将其发送回 Clash 上游代理。
- Clash 上游代理发送响应给 Fiddler:Clash 上游代理将响应发送给 Fiddler。
- Fiddler 接收响应:Fiddler 接收到来自 Clash 上游代理的响应。
- 响应发送给客户端:Fiddler 将响应发送回客户端,作为原始请求的响应。
1.4.2 Gateway设置
在fiddler设置好捕获HTTP和HTTPS之后,再配置网管设置。
Gateway子菜单提供了用于配置 Fiddler Classic 高效访问网络方式的选项。
默认情况下,Fiddler Everywhere“链接”到系统的默认代理。网关设置允许您覆盖该行为。
- (推荐)使用系统代理 --默认选择。Fiddler 使用 OS 系统代理。一些浏览器和许多应用程序默认使用系统代理,并在它发生变化时收到通知。
- 手动代理配置 -指定上游代理字符串(第一个文本框)和代理旁路列表(第二个文本框)。
代理字符串— 要手动设置网关代理,请输入代理字符串。要直接输入代理配置字符串,请使用以下行。
proxyserver:8080
要以特定于协议的形式输入代理,请使用以下行。
http=httpproxy:8080;https=httpsproxy:8080
绕过列表——代理绕过列表支持以下值:
- 通配符。例如,
*.``extranet.example.com``;
。 - 特殊
<local>
标记,表示不包含句点的任何主机名。 - 特殊令牌,它删除了主机名和主机名
<-loopback>
的默认绕过。以下示例演示如何列出以分号 ( ) 分隔的多个旁路条目。127.0.0.1``localhost``;
*.extranet.example.com;<local>;<-loopback>;
- 无代理 - 将所有流量直接发送到根服务器。
二、Charles
1.1安装证书及配置http&&https抓包
1.1.1 Proxy Settings(代理设置)
1.1.2 SSL Proxy Settings(SSL 代理设置)
1.2配置二次代理
1.2.1 设置Charles二次代理
菜单栏点击【Proxy】-->点击【external proxy settings...】
1.2.2 设置外部代理服务器
勾选【Use external proxy servers】-->左侧三个选项都打勾并将对应【Web ProxyServer】都设置成【127.0.0.1:7890】(clash端口是7890)-->点击【ok】-->重启Charles。
这三个分别对应http、https和SOCKS
之后重启charles即可。
三、手机端修改代理
手动修改代理设置,改成对应IP和端口,下载相关证书安装即可。
四、抓不到包怎么办
有些情况下死活抓不到包,这种情况下我们可以使用charles+clash+Proxifier强制进行抓包,如何强制抓包下篇帖子再出个教程。
欢迎来到testingpai.com!
注册 关于