在Libcurl C中,使用CURLOPT_DEBUGFUNCTION可以设置回调函数。 Libcurl调用回调并提供数据
为CURLINFO_SSL_DATA_OUT提供的tx数据为二进制格式(加密)。我需要相应的原始数据(未加密)。
有可能吗?
答案 0 :(得分:1)
我强烈建议您使用SSLKEYLOGFILE方法,该方法允许您使用Wireshark等外部工具监视和捕获所有卷曲流量(TLS和非TLS)。
无需在任何地方安装任何MITM软件或其他证书。还可以与链接使用libcurl的应用程序一起使用,不仅可以卷曲自身。
答案 1 :(得分:0)
如果您想查看实际传输的内容,我建议使用中间人HTTPS代理。
代理位于您的客户端和服务器之间。
当客户端通常通过HTTPS与服务器通信时,客户端会检查服务器的证书链,以查看其是否由系统信任的根证书签名。
因此,客户端和服务器之间的任何代理只能转发数据,而无法查看加密的数据流。
那么它如何工作?
中间人代理拦截流量并即时创建服务器证书。因此,它看起来像是在与服务器进行通信,反之亦然。
但是,如果客户端随后评估证书链,它将遇到不知道并因此不信任的代理的根证书,并立即终止服务器通信(如果客户端配置正确)。
为了使代理可以查看HTTPS数据,必须在客户端系统的受信任根证书列表中包括代理根证书。
然后,代理可以显示所有数据,包括标题。
此类代理的一些典型代表是(不完整列表):