基于 Node.js 的 HTTPS MITM(中间人) 代理的原理和实现 (附: 详细代码)

《基于 Node.js 的 HTTPS MITM(中间人) 代理的原理和实现 (附: 详细代码)》

部署在公网的服务面临着越来越多的流量劫持、运营商劫持事件,为了能更好的保障信息的安全性和完整性,HTTPS得到了越来越多的重视。基于此原因,本文章尝试从另一个视角,通过使用Node.js实现一个简单的HTTPS中间人代理的方式,阐述HTTPS是如何保证网络信息的安全,并且分析用户的何种行将会导致HTTPS的安全性失效。

MITM(中间人)代理的技术手段对于软件开发者并不陌生,在实际开发和测试中经常会使用。调试接口、查看HTTP请求与响应时使用的http抓包调试工具如:FiddlerCharles,就是基于该原理实现的。

本文会更侧重于代码的实现,每一步都提供详细的可运行的js代码实现

问题反馈

如本文有原理上或者是代码层面的错误,再或者是任何方面的问题,都欢迎提问或 Pull Request!

第〇节: 思路分析

第一节: HTTP中间人代理实现

第二节: 如何代理HTTPS请求

第三节: HTTPS数字证书和数字证书链

第四节: 一个简易的HTTPS代理

第五节: 总结

    原文作者:小蜜蜂
    原文地址: https://juejin.im/entry/588ee00a128fe10058b6cb52
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞