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