网络代理技术实现方式主要有:socks5,v*n(虚拟专用网络),https,ssh隧道,tor(洋葱路由)等,它们各有侧重点,本文想对这些技术做一个概述,梳理一下它们之间的关系和脉络。

socks4/5

  socks5比socks4增加了udp代理支持,它工作在应用层之下,传输层之上,是专门为网络代理设计的通信协议。
  普通的socks5代理方式下,应用软件直接通过socks5协议把数据发给服务端,但socks5协议是明文发送,很容易被截获。改进型的是使用socks5-TLS进行数据加密后送到服务端,但socks5建立连接的过程特征是明显的,还是容易被封。
  最终诞生了shadowsocks,它分为ss-client和ss-server,应用软件将数据通过socks5协议发送给ss-client,再由ss-client将数据加密混淆后送给ss-server,最后ss-server将数据发送给目的地址。

下图是普通socks代理过程和shadowsocks的代理过程:

若干网络代理技术的总结
若干网络代理技术的总结

v*n(虚拟专用网络)

  这是一大类技术,它工作在网络的第三层,直接截获所有IP层数据并转发。有多种具体的实现协议,包括L2TP/IPSec、IKEv2等。代表软件有strongswan,一般的操作系统都自动支持这些v*n协议,所以只需要在服务器端配置好strongswan,再在本地操作系统里简单配置下即可使用。当然对于一些特殊的v*n协议如SSTap,就要安装对应的客户端软件了,这些软件一般会虚拟一块网卡用于截获数据,其实操作系统自带的v*n配置完了以后也会生成一个类似虚拟网卡的设备。
若干网络代理技术的总结

https、ssh

  它们本不是为代理而设计的,但是可以实现代理的功能。https代理需要架设专门的代理服务器,它工作在应用层,只可以代理http和https协议。ssh可以通过ssh隧道实现代理功能,它和应用软件还是通过socks5协议交互的,所以它本质上可以被认为是一个socks5服务器。
  这里稍微说下https和ssh工作的协议栈区别,虽然它们都是应用层协议。https=http+TLS/SSL,它是将http和TLS/SSL结合而成的,这样其他协议也可以复用TLS/SSL层了,如socks5-TLS。而SSH把整个过程都实现了。

它们的架构如下图所示:
若干网络代理技术的总结

tor(洋葱路由)

我的理解是它更强调匿名性,所以中间需要多次代理,因此速度也会慢很多,具体可以百度一下,有很多相关介绍。
若干网络代理技术的总结

相关文章:

  • 2021-08-05
  • 2021-08-26
  • 2021-08-06
  • 2021-06-10
  • 2021-10-26
  • 2021-04-27
  • 2021-11-06
猜你喜欢
  • 2021-04-26
  • 2022-01-07
  • 2018-03-25
  • 2021-06-05
  • 2021-05-09
  • 2021-11-10
  • 2021-11-14
相关资源
相似解决方案