对不起,标题,但基本上我试图实现的是有一个应用程序,将使用TCPListener等待传入的连接,然后将它们转发到其预期的目的地。转发常规Http请求非常简单,但为了“代理”HTTPS连接,需要执行哪些步骤?如何通过TCPListener通过服务器中继SSL HttpRequest?
0
A
回答
3
你不能没有被源或目标读取HTTPS通信的内容。没有人在中间可以窃听。因此,除非您事先知道目的地(例如,如果有人设法将带外目标IP发送给您),则会卡住。
鸡蛋里挑骨头编辑:这是不完全正确。你可以假装成为目的地并干扰握手过程。您将能够看到请求的内容,但用户将看到不正确的证书警告。
1
除非你对客户的一些控制,我没有看到一个方法来“代理” HTTPS连接。
- 如果可以更改客户端的代理设置,则可以假装为SOCKS代理。
- 如果可以将新条目添加到客户端的主机文件(就像您是目标一样),则可以绕过该通信。
但是没办法读会话的内容。
0
它实际上是在理论上很简单 - 你只需要知道完整的服务器证书和潜在的客户端证书如果使用的话,不是正确实现握手的双方。
在实践中 - 你有没有办法获得SSL证书服务器,除非你拥有它,和相同的客户端证书。
我建议你阅读解释提琴手如何做HTTPS解密:http://www.fiddler2.com/Fiddler/help/httpsdecryption.asp
相关问题
- 1. 如何使用.NET通过SSL通过SSL从FTP服务器下载文件?
- 2. RM通过SSL单端口服务器
- 3. 通过SSL通过PHP PDO连接到MSSQL服务器
- 4. 通过SSL使用Kerberos通过SSL调用Reporting Services Web服务
- 5. Grails-cxf中通过SSL的Web服务?
- 6. 如何通过SSL
- 7. 的HttpRequest:通过AuthLogin
- 8. 如何不通过ExtJS HTTPRequest中的cookie
- 9. 通过SSL保护WCF Web服务
- 10. 通过SSL证书保护Web服务
- 11. 通过SSL使用JSONP的WCF服务
- 12. 通过SSL的SOAP web服务连接
- 13. 通过nginx服务ssl网页,ssl_error_rx_record_too_long
- 14. 通过SSL请求网络服务
- 15. Angular2:如何通过HTTP服务
- 16. 如何实现通过SSL进行Web服务通信的Web服务?
- 17. 如何检查通过mod_rewrite通过IP访问的服务器?
- 18. 如何通过服务android
- 19. 如何通过web服务
- 20. 通过服务器/代理服务器
- 21. 如何在Java中通过SSL调用Web服务?
- 22. 如何确定服务器端是否通过ajax发送给定的HttpRequest?
- 23. 通过服务
- 24. 服务器通过螺纹
- 25. SQL服务器通过
- 26. 通过PHP从服务器
- 27. iPhone:如何通过按钮发送httprequest?
- 28. 如何通过服务处理通知?
- 29. 如何通过服务发送通知
- 30. 通过NAT /路由器的服务器到服务器通信
+1。除非你使用正确的证书。 – 2012-03-01 21:20:04
您无法在任何合理的现实世界场景中获得服务器端证书... – zmbq 2012-03-01 21:22:24
是的(我也试着将它写在我的答案中......),FoxyGT也没有说明他是否需要通用解决方案或想要为他的私人服务器做这件事 - 让海报受益匪浅,而不是假设创建通用中间人代理的纯粹恶意。 – 2012-03-01 22:01:22