Fiddler抓去HTTP/HTTPS数据包

本文介绍如何配置Fiddler来抓取Java程序的HTTP/HTTPS通信,包括设置代理、解密HTTPS流量及导入证书等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

默认情况下,Fiddler是抓不到Java程序的HTTP/HTTPS的通信的。

1. 配置抓取HTTP/HTTPS通信。

    只要为Java程序设置HTTP代理,指向localhost:8888即可。

        方法一,使用如下方式启动Java程序:

java -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 <path-to-your-app>

        方法二,在代码开始处,使用Java API配置Java属性:

System.setProperty("http.proxyHost", "localhost"); 
System.setProperty("http.proxyPort", "8888"); 
System.setProperty("https.proxyHost", "localhost");
System.setProperty("https.proxyPort", "8888");

 2. 若要抓取HTTPS,以上配置不够,还需配置Fiddler解密HTTPS流量并导入Fiddler的root证书:

    打开Fiddler程序,工具->Fiddler选项,点击HTTPS标签页,勾选'解密HTTPS流量'复选框,此时会弹出安装Fiddler根证书的确认框,安装即可,然后从当前页面的下拉框中选择'从所有进程'或'仅非浏览器'。

3. 对于抓取HTTPS,还需要将Fiddler的根证书导入Java的KeyStore中,不然Java程序会抛出没有证书的相关异常

    1)导出Fiddler的根证书。

        在步骤2所打开的页面,点击‘动作’按钮,选择‘导出根证书到桌面’菜单项

     2)导入Fiddler根证书到Java的KeyStore中

        执行如下命令

<JAVA_HOME>/bin/keytool.exe -import -file C:\Users\<Username>\Desktop\FiddlerRoot.cer -keystore FiddlerKeystore -alias Fiddler

     该命令会创建一个新的Keystore:FiddleKeystore。会提醒输入要设定的密码。

     注:也可将该证书导入到Java默认的Keystore中(请自行google/baidu)

      3)在Java代码中设置KeyStore的路径:

System.setProperty("javax.net.ssl.trustStore", "<path-to-keystore>");

 注意:当然,也可在启动java程序时通过-Djavax.net.ssl.trustStore=XXX的方式指定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值