使用Whistle代理抓取JVM HTTP请求
· One min read
info
注意把以下命令中对应路径替换成自己的:
D:\programs\jdk1.8.0_192
: JDK 1.8 的安装目录C:\Users\user\Downloads\rootCA.cer
: 下载到本地的whistle代理根证书
生成证书
方式一:生成keystore只有whistle根证书
D:\programs\jdk1.8.0_192\jre\bin\keytool.exe -importcert -alias whistle -keystore "C:\Users\user\Downloads\whistle.p12" -file "C:\Users\user\Downloads\rootCA.cer" -storepass whistle -storetype PKCS12 -noprompt
方式二:在JDK默认根证书基础上追加whistle根证书
D:\programs\jdk1.8.0_192\jre\bin\keytool.exe -importkeystore -srckeystore "D:\programs\jdk1.8.0_192\jre\lib\security\cacerts" -srcstoretype JKS -srcstorepass changeit -destkeystore "C:\Users\user\Downloads\whistle.p12" -deststoretype PKCS12 -deststorepass whistle
D:\programs\jdk1.8.0_192\jre\bin\keytool.exe -importcert -alias whistle -keystore "C:\Users\user\Downloads\whistle.p12" -file "C:\Users\user\Downloads\rootCA.cer" -storepass whistle -storetype PKCS12 -noprompt
使用
要使用上述keystore,抓取HTTPS请求,需要设置以下 JVM 启动参数:
-DproxySet=true
-DproxyHost=127.0.0.1
-DproxyPort=8899
-Djavax.net.ssl.trustStore="C:\Users\user\Downloads\whistle.p12"
-Djavax.net.ssl.trustStorePassword=whistle
-Djavax.net.ssl.trustStoreType=PKCS12
-Djavax.net.debug=ssl,handshake