java程序配置fiddler,捕获localhost,127.0.0.1发出的请求

按照网上的方法

1-把FiddlerRoot.cer放入了这个文件夹

证书生成在fiddler软件里面Tools——》Actions——》导出到桌面

 

 

 

2-执行以下操作

之前跟着一个教程直接敲,让我去security的目录敲这个命令,但是找不到,后来搜了一下keytoole.exe的所在目录, 就在这个目录这执行这个命令。

这里的证书目录我刚开始选择的java里面的security,但是失败, 把证书拷贝一份放了d盘就成功了。

keytool.exe -import -file D:\devsoft\fiddler\FiddlerRoot.cer -keystore D:\FiddlerKeystore -alias Fiddler

 密码输入123456

 3-修改jvm参数

据说后面两排是https请求要加的,反正官方那里没有这两行。之前这个参数已经改过,没啥用,死马当活马医,有新的参数都招呼上去。

-DproxySet=true
-Dhttp.proxyHost=127.0.0.1
-Dhttp.proxyPort=8888
-Djavax.net.ssl.trustStore=D:\FiddlerKeystore
-Djavax.net.ssl.trustStorePassword=123456

 

上面的都试了一遍,发现还是不行。

后来看到一篇文章说,

4-如果你是通过httpclient发送的接口请求,需要在发送请求之前设置代理

8888是fiddler的端口,参数这些都不用改。

 OkHttpClient client = new OkHttpClient.Builder().proxy(new Proxy(Proxy.Type.HTTP,new InetSocketAddress("127.0.0.1",8888)))
                    .readTimeout(1000L, TimeUnit.MINUTES).build();

找了无数方法,终于配成功了。 最后是通过设置代理成功的。

在发请求之前配个fiddler的代理才是正道,其他那些都用不着。所以官方那里其实只有一句话,就是配jvm参数,但我因为不是用java原生代码来发送请求的,所以可能绕过了,没有通过代理。就要手动给HttpClient设置代理,设置完这个,都不用重启就直接成功了。

后来把security的证书删掉,jvm的参数配置删掉,都还是能捕获到。所以配置fiddler就是一个要点:在发送请求以前,让fiddler代理。不然就拦截不到请求,自然也捕获不了。

感谢【Fiddler的Java抓包 - 下士闻道 - 博客园】,通过这个得知主要是设置代理,后来就去百度搜OKHttpClient怎么设置代理就完事了。

fiddler抓取Java程序内部的HTTP请求包 - 灰信网(软件开发博客聚合)】把证书加到密钥,虽然对最终目的没啥用,但是之前想操作这一步而没有成功,看着这个教程操作成功了,还是挺开心的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值