使用代理服务器读取HTTPS流量

使用代理服务器读取HTTPS流量,https,proxy,request,Https,Proxy,Request,上下文:我有一个与所有者的服务器通信的应用程序。此应用程序通过访问某些URL向服务器请求某些信息。我不知道这些URL的,除了一些,但一旦我知道他们,我可以手动访问他们在浏览器中,并获得上述信息 目标:找出这些请求的URL,即,当我使用应用程序时,应用程序发出的请求是什么,以便我将来可以自己手动发出请求 进步: 由于通信采用HTTPS,使用应用程序时使用Wireshark读取数据包失败,因为这些数据包是加密的 但是,我能够在应用程序的二进制文件中找到服务器的URL所在的位置。因此,理论上我可以将

上下文:我有一个与所有者的服务器通信的应用程序。此应用程序通过访问某些URL向服务器请求某些信息。我不知道这些URL的,除了一些,但一旦我知道他们,我可以手动访问他们在浏览器中,并获得上述信息

目标:找出这些请求的URL,即,当我使用应用程序时,应用程序发出的请求是什么,以便我将来可以自己手动发出请求

进步

  • 由于通信采用HTTPS,使用应用程序时使用Wireshark读取数据包失败,因为这些数据包是加密的
  • 但是,我能够在应用程序的二进制文件中找到服务器的URL所在的位置。因此,理论上我可以将应用程序的请求重定向到任何其他服务器。因此,我认为能够接收未加密的请求的一个好主意是设置一个代理服务器,将应用程序重定向到它,然后执行应用程序并获得结果

问题:但我不知道如何在实践中实现这个想法,我非常感谢您的帮助。我认为,理想情况下,我既可以接收应用程序发出的请求(并读取它们),也可以将它们重定向到服务器并读取接收到的信息。

幸运的是,这不起作用。https使用基于服务器端密钥的加密。客户端会意识到传输加密不是由原始服务终止的,而是由中间的代理终止的。您必须知道服务器的密钥才能嗅探流量。这是你无论如何都不会做的事情,因为在大多数国家,无论你是否操作系统,这都是非法的。谢谢你提供的宝贵信息,@arkascha。因此,即使不可能充当中间层,通过充当服务器,是否仍然可以至少看到应用程序发送的请求?请原谅我没有经验。好吧,你显然可以看到一个请求被发送了,当然,但不是请求的内容。原因再次是加密。与前一种
shtml
strategies(1980…)不同,https连接不仅加密响应,而且加密请求,因此完整的通信。我得说,原因很明显。您可以看到的是请求的HTTP_主机,因为在该主机内实际终止加密之前必须对其进行评估,而不是加密内容。幸运的是,这不起作用。https使用基于服务器端密钥的加密。客户端会意识到传输加密不是由原始服务终止的,而是由中间的代理终止的。您必须知道服务器的密钥才能嗅探流量。这是你无论如何都不会做的事情,因为在大多数国家,无论你是否操作系统,这都是非法的。谢谢你提供的宝贵信息,@arkascha。因此,即使不可能充当中间层,通过充当服务器,是否仍然可以至少看到应用程序发送的请求?请原谅我没有经验。好吧,你显然可以看到一个请求被发送了,当然,但不是请求的内容。原因再次是加密。与前一种
shtml
strategies(1980…)不同,https连接不仅加密响应,而且加密请求,因此完整的通信。我得说,原因很明显。您可以看到的是请求的HTTP_主机,因为必须在该主机内实际终止加密之前对其进行评估,而不是加密内容。