在 Java 中使用 Fiddler 捕获 HTTPS 流量
Fiddler是一个Web调试代理工具,可以帮助开发人员调试Web应用程序。 它允许捕获网络流量并监控传入和传出的数据。
本文将教我们设置Fiddler来捕获HTTPS流量。 因此,用户可以使用 Java 捕获 HTTPS 流量,不会出现任何错误。
配置 Fiddler
用户应按照以下步骤配置 Fiddler。
-
在此处下载 Fiddler 并将其安装到本地计算机。
-
现在,确保 Fiddler 捕获 HTTPS 流量,如下图所示。
-
接下来,打开“工具”>“选项”。 它将弹出一个对话框。 转到连接选项卡。
-
现在,确保 Fiddler 侦听端口文本字段的值,我们将在 Java 代码中使用该值。 默认值为8888。
-
在“选项”对话框中,转到“HTTPS”选项卡,并确保选中“捕获 HTTPS 连接”和“解密 HTTPS 流量”。 另外,在“解密 HTTPS 流量”下拉菜单中选择“...从所有进程”。
-
接下来,安装证书。
-
最后一步,在“选项”对话框的“HTTPS”选项卡中,单击“操作”按钮,然后选择“将根证书导出到桌面”以将证书导出到设备的桌面上。
-
*
生成密钥库
我们必须使用导出到桌面的证书生成 KeyStore。
-
以管理员身份运行命令提示符。
-
用户需要在终端输入以下命令来查找根目录。
echo %JAVA_HOME%
-
在终端内,转到您在上一步中获得的 Java 根目录。
-
接下来,在cmd中使用cd bin命令进入Java目录的bin文件夹。
-
在终端运行以下命令。
keytool.exe -import -file C:\Users\\\Desktop\\FiddlerRoot.cer -keystore FiddlerKeystore -alias Fiddler
-
输入密码,然后您必须重新输入密码进行确认。
-
按 y 回答信任此证书。
配置应用程序代码以使用 Fiddler 捕获 HTTPS 流量
我们已经设置了 Fiddler 并生成了带有证书的 KeyStore。 用户需要将以下代码添加到应用程序中,以使用 Java 捕获 HTTPS 流量。
// To capture HTTPS traffic
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "8888");
// To capture HTTP traffic
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");
此外,用户可以使用 localhost 而不是 127.0.0.1。 如果用户想要使用 8888 以外的端口,他们还需要更改 Fiddler 内部的端口,我们已在配置 Fiddler 部分中对此进行了解释。
配置 Eclipse 以使用 Fiddler 捕获 HTTPS 流量
如果用户想要配置 Eclipse IDE 来捕获 HTTPS 流量而不是将代码添加到应用程序中,则应遵循以下步骤。
-
从菜单栏转至运行
>
运行配置。 - 从“运行配置”对话框的侧栏中,选择一个项目并转到“参数”选项卡。
-
在“VM 参数”部分中输入以下参数。
-DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 -Djavax.net.ssl.trustStore="path\to\java_home\bin\FiddlerKeyStore" -Djavax.net.ssl.trustStorePassword="password_used_during_keystore_creation"
- 现在,单击“应用”按钮并按“运行”按钮。
在本文中我们已经成功设置了 Fiddler 来捕获 HTTPS 流量。 此外,我们还使用 fiddler 证书生成了 KeyStore。
之后,我们有两种选择使用 Java 应用程序捕获 HTTPS 流量。 用户可以设置 Eclipse 或将代码添加到应用程序代码中。
相关文章
Java迭代器remove()方法
发布时间:2023/07/17 浏览次数:117 分类:Java
-
Java 开发人员经常需要在迭代时从 ArrayList 中删除元素或对象。在本文中,我们将了解迭代器的remove()方法和集合的remove()方法的工作原理有何不同。
查找 Java 中的内存泄漏
发布时间:2023/07/17 浏览次数:96 分类:Java
-
本文将教我们如何查找Java内存泄漏。未使用的项目占用额外的内存空间称为内存泄漏。 内存泄漏是有问题的,因为它们会堵塞内存资源并随着时间的推移降低系统性能。
Java 8 Stream 中的属性不同
发布时间:2023/07/17 浏览次数:171 分类:Java
-
本文通过属性演示了在 Java 中使用流的独特功能。Java 8 Stream 中的属性不同 Java 8 Stream 有一个 distinct() 方法,可以过滤列表中的重复项。
在 Java 中将 Iterable 转换为 Stream
发布时间:2023/07/17 浏览次数:51 分类:Java
-
在本文中,我们将学习一种将 Iterable 转换为 Stream 的方法。在 Java 中使用 StreamSupport.stream() 方法将 Iterable 转换为 Stream
在 Eclipse 中更改 Java 版本
发布时间:2023/07/17 浏览次数:110 分类:Java
-
用户在处理特定项目时可能需要降级或升级 Java 版本。 在这种情况下,Eclipse IDE 允许我们更改特定项目的 JDK 版本。本文介绍了在 Eclipse IDE 中更改 Java 版本的分步指南。在 Eclipse 中下载并添加
在 Java 中对一个 Switch Case 语句使用多个值
发布时间:2023/07/16 浏览次数:174 分类:Java
-
在本文中,我们将学习如何在一个 switch-case 语句中使用多个值。使用 switch-case 语句 Java 允许程序员通过使用 switch case 语句来像其他编程语言一样克服太多的 if-else 条件语句。
Java 中的线程安全延迟初始化
发布时间:2023/07/16 浏览次数:59 分类:Java
-
本文将讨论在 Java 中实现线程安全的延迟初始化。Java 中的对象初始化 延迟初始化是延迟对象创建的行为。 它还可能导致某些计算任务或首次昂贵流程的延迟。
在 Java 中显示动画 GIF
发布时间:2023/07/16 浏览次数:112 分类:Java
-
我们可以使用javax包的Swing库方法来在Java中显示动画GIF。 本文介绍用户如何在 Java 应用程序或单独的窗口中显示动画 GIF。使用 Javax.swing 库在 Java 中显示动画 GIF