Ruby MITM代理

时间:2012-11-20 15:36:00

标签: ruby ssl https proxy man-in-the-middle

我正在寻找一些关于如何在支持HTTPS的Ruby中编写代理的示例。我有一个用Webricks HTTPProxyServer实现的简单代理,但我注意到,HTTPS流量只是隧道(应该如此;))。但我想用录像机录制内容(关于我的问题VCRProxy: Record PhantomJS ajax calls with VCR inside Capybara),只要内容只是通过,VCR就无法录制。

所以我在考虑将代理编写为中间人,动态生成SSL证书(我不关心证书错误,仅用于测试),然后我就能够记录内容/稍后播放。

因此,如果有人从如何开始,或教程或要点有一个很好的资源,请告诉我。

PS:我已经看过这些问题了,但是他们没有提供任何进一步的东西(而且它需要在红宝石中):

2 个答案:

答案 0 :(得分:1)

一个老问题,但为了完整起见,这里有另一个答案。

我在Ruby中实现了一个HTTP / HTTPS拦截代理,该项目是hosted in github

该项目是新的,因此它不像Python的mitmproxy那样成熟,但它支持HTTPS,可以即时生成证书。

答案 1 :(得分:0)

在Python中有一个优秀的MITM代理,恰当地命名为mitmproxy。作者的netlib库做了技巧,而mitmproxy使用它。

代码库并不大,鉴于你了解Ruby,它不应该很难通过它。