查尔斯监控终端请求

Posted

技术标签:

【中文标题】查尔斯监控终端请求【英文标题】:Charles monitor terminal request 【发布时间】:2017-12-14 07:47:44 【问题描述】:

有没有办法监控终端等应用程序的请求?现在我可以监控 chrome 但其他应用程序不能。

我的 charles 的版本是 4.2

【问题讨论】:

【参考方案1】:

我认为这取决于您尝试监控的命令行。要纯粹捕获从终端发出的 http 请求,您只需设置环境变量“http_proxy”,例如:

$ export http_proxy="http://localhost:8888"
$ curl "http://www.google.com"

这将使 Charles 捕获对 Google 的 HTTP 请求,但这可能不会发生在从该终端启动的所有应用程序中。您可能必须找到在其他应用程序上配置代理的方法。

举个例子,如果你想从你正在开发的java应用程序捕获http请求,你需要在java命令行中添加正确的代理配置,比如: p>

$ JAVA_FLAGS="-Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=8888"
$ java $JAVA_FLAGS ...

要使用 Charles 启用 HTTPS 嗅探,您需要将证书添加到 JVM 的密钥库:

$ keytool -import -alias charles -file charles-ssl-proxying-certificate.cer -keystore $JAVA_HOME/jre/lib/security/cacerts

请注意

cacerts 文件位置可能因 Java 版本而异 (在 Java 10 上,它位于 $JAVA_HOME/lib/security/ 下) 密码 cacerts 文件,如果未更改,则为:changeit(因此请考虑更改)

希望这会有所帮助。

【讨论】:

以上是关于查尔斯监控终端请求的主要内容,如果未能解决你的问题,请参考以下文章

监控rtsp交互失败怎么回事?

Linux 终端下 dstat 监控工具

防洪排涝监控 防洪排涝自动监测遥测终端

超低延时监控视频多终端发布解决方案

运维监控AIOps的几个重要观点

水文遥测终端 数据采集 远程监控