基于Node.js的HTTPS MITM(中间人)代理的原理和实现
部署在公网的服务面临着越来越多的流量劫持、运营商劫持事件,为了能更好的保障信息的安全性和完整性,HTTPS得到了越来越多的重视。基于此原因,本文章尝试从另一个视角,通过使用Node.js实现一个简单的HTTPS中间人代理的方式,阐述HTTPS是如何保证网络信息的安全,并且分析用户的何种行将会导致HTTPS的安全性失效。
MITM(中间人)代理的技术手段对于软件开发者并不陌生,在实际开发和测试中经常会使用。调试接口、查看HTTP请求与响应时使用的http抓包调试工具如:Fiddler、 Charles,就是基于该原理实现的。
本文会更侧重于代码的实现,每一步都提供详细的
、可运行的
js代码实现。
如本文有原理上或者是代码层面的错误,再或者是任何方面的问题,都欢迎提问或 Pull Request!