什么是SOCKS5协议
cwdl  发布于 2019-05-23

什么是SOCKS5协议

转载:http://helpserver.chiwudaili.com/detail.aspx?id=536045e523fe269edba2318c5169780d

 

【1】什么是SOCKS5协议。

  SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。SOCKS是"Sockets”的缩写。



  当防火墙后的客户端要访问外部的服务器时,就跟SOCKSbt365体育在线网址服务器连接。这个bt365体育在线网址服务器控制客户端访问外网的资格,允许的话,就将客户端的请求发往外部的服务器。这个协议最初由David Koblas开发,而后由NEC的Ying-Da Lee将其扩展到版本4。最新协议是版本5,与前一版本相比,增加支持UDP、验证,以及IPv6。根据OSI模型,SOCKS是会话层的协议,位于表示层与传输层之间。

 

【2】SOCKS5bt365体育在线网址与HTTPbt365体育在线网址的区别

  SOCKS工作在比HTTPbt365体育在线网址更低的层次:SOCKS使用握手协议来通知bt365体育在线网址软件其客户端试图进行的连接SOCKS,然后尽可能透明地进行操作,而常规bt365体育在线网址可能会解释和重写报头(例如,使用另一种底层协议,例如FTP;然而,HTTPbt365体育在线网址只是将HTTP请求转发到所需的HTTP服务器)。虽然HTTPbt365体育在线网址有不同的使用模式,CONNECT方法允许转发TCP连接;然而,SOCKSbt365体育在线网址还可以转发UDP流量和反向bt365体育在线网址,而HTTPbt365体育在线网址不能。HTTPbt365体育在线网址通常更了解HTTP协议,执行更高层次的过滤(虽然通常只用于GET和POST方法,而不用于CONNECT方法)。



SOCKS:

  Bill希望通过互联网与Jane沟通,但他们的网络之间存在一个防火墙,Bill不能直接与Jane沟通。所以,Bill连接到他的网络上的SOCKSbt365体育在线网址,告知它他想要与Jane创建连接;SOCKSbt365体育在线网址打开一个能穿过防火墙的连接,并促进Bill和Jane之间的通信。



HTTP:

  Bill希望从Jane的Web服务器下载一个网页。Bill不能直接连接到Jane的服务器,因为在他的网络上设置了防火墙。为了与该服务器通信,Bill连接到其网络的HTTPbt365体育在线网址。他的网页浏览器与bt365体育在线网址通信的方式与他直接连接Jane的服务器的方式相同;也就是说,网页浏览器会发送一个标准的HTTP请求头。HTTPbt365体育在线网址连接到Jane的服务器,然后将Jane的服务器返回的任何数据传回Bill。



【3】SOCKS5bt365体育在线网址和VPN的区别

  VPN(虚拟专网),你接入VPN就是接入了一个专有网络,那么你访问网络都是从这个专有网络的出口出去,好比你在家,你家路由器后面的网络设备是在同一个网络,而VPN则是让你的设备进入了另一个网络。同时你的IP地址也变成了由VPN分配的一个IP地址。通常是一个私网地址。你和VPN服务器之间的通信是否加密取决于连接VPN的具体方式/协议。



  Sock5bt365体育在线网址服务器则是把你的网络数据请求通过一条连接你和bt365体育在线网址服务器之间的通道,由服务器转发到目的地。你没有加入任何新的网络,只是http/socks数据经过bt365体育在线网址服务器的转发送出,并从bt365体育在线网址服务器接收回应。你与bt365体育在线网址服务器通信过程不会被额外处理,如果你用https,那本身就是加密的。



【4】Shadowsocks全局模式与PAC模式的区别

  PAC模式就是会在你连接网站的时候读取PAC文件里的规则,来确定你访问的网站有没有被墙,如果符合,那就会使用bt365体育在线网址服务器连接网站,而PAC列表一般都是从GFWList更新的。GFWList定期会更新被墙的网站(不过一般挺慢的)。



  简单地说,在全局模式下,所有网站默认走bt365体育在线网址。而PAC模式是只有被墙的才会走bt365体育在线网址,推荐PAC模式,如果PAC模式无法访问一些网站,就换全局模式试试,一般是因为PAC更新不及时(也可能是GFWList更新不及时)导致的。

推荐阅读