一、说明
1.1 背景说明
关于“代理”,从burpsuite到ss这类正向代理,再从nginx到haproxy这类反向代理,也用了好多年配置了好多年了。在日积月累之下也确认了以下几个问题:
正向代理和反向代理的区别----正常访问路径是client----public network----server
,如果代理服务器处于client和public network之间就是正向代理,如果代理服务器处于public network和server之间就是反向代理。
代理从连接的角度是怎么实现的----A建立一个tcp连接到B发送应用层内容,B另建立一个tcp连接到C转发A应用层的内容。
socks5是什么和socket库有什关系和区别----socket我们可以认为是“数据链路层+网络层+传输层”的实现库,socks5是传输层之上的一种协议(类比ssl层)
-
ssl密钥协商过程是怎样的----SSL密钥协商过程分析
-
怎么编写代码实现ssl通信----Python3+ssl实现加密通信
但是仍是有一种不甚了解的感觉,比如这两天实现socket使用代理访问web服务代码就又费了好多功夫。
1.2 环境说明
-
代理服务----windows本地运行的whistle代理服务,监听端口8899
-
实现语言----python3
-
实现功能----socket通过代理访问http服务(第二大点)、socket通过代理访问https服务(第三大点)