网络协议之: 还在用 HTTP 代理? 弱爆了! 快试试 SOCKS5
简介
存在即是合理,SOCKS5 的出现是为了解决 SOCKS4 中不支持身份认证的大问题而出现的,毕竟大家对网络中的安全越来越重视了。没有认证的网络就好像是生活在摄像头下的人生,毫无隐私可言,实在是太可怕了。
今天给大家深入讲解一下 SOCKS5 和它的应用。
为什么要使用 SOCKS
SOCKS 是一种代理服务协议,为什么会要有代理服务协议呢?
因为在现代网络中,很多情况下,由于网络或者防火墙的原因,我们很难直接去访问对方的网络,所以需要一种代理机制来充当本地网络和大型网络之间的网关。
代理服务器通过拦截发送方和接收方之间的连接来工作。 所有传入的数据都通过一个端口进入,并通过另一个端口转发到目标网络中。
当然流量转发是代理服务器的最基本的功能,代理服务器还可以通过隐藏客户端或者服务器端的 IP 地址,从而实现网络访问的安全性。另外因为代理服务器充当了目标服务器的代理,所以可以将代理服务器作为目标服务器的缓存服务器,从而提高网络访问效率。
另外代理服务器还可以通过对数据进行拦截,从而进行一些特殊的操作,比如对数据进行加密,从而保证数据传输的安全性。另外代理服务器还可以对客户端的访问进行控制,比如可以阻止客户端访问某个 IP 地址或者网站。
而 SOCKS 就是一种代理协议的标准,通过这种协议,可以实现标准的代理服务。
在企业级网络中,为了保证企业网络的安全性,通常会有安装上防火墙,这样虽然保证了企业网络的安全,但是也阻止了客户端对外界网络的访问。所以需要一个 SOCKS 代理服务器来代替客户端和目标网站之间建立连接和进行数据通信。
SOCKS 代理可以绕过防火墙来中继用户的 TCP 和 UDP 会话。
SOCKS5
因为 SOCKS 是运行在 OSI 七层协议中的第五层会话层,所以它可以处理包括 HTTP、HTTPS、POP3、SMTP 和 FTP 等多种请求类型,所以可以使用 SOCKS 协议来进行邮件发送、网页浏览、文件传输等。
相对于 SOCK4 来说,SOCKS5 加入了认证机制,所以可以通过身份验证建立完整的 TCP 连接,SOCKS5 通常和 SSH 一起使用,通过使用 SSH 加密隧道方法来中继流量。
那么为什么我们需要使用 SOCKS5 呢?
首先我们可以通过 SOCKS5 来访问防火墙后面的服务。
一般来说,为了安全起见,服务器都放在防火墙后面,但是外部的人想要访问该服务器的话,有两种办法。第一种就是去掉防火墙,向公众开放该服务,但是这样会带来安全的风险。第二种就是通过设置客户端的 IP 白名单,来过滤非法的访问请求。但是客户端的 IP 地址通常是会发送变化的,所以这种做法也是不可行的。
如果使用 SOCKS5 的 SSH 代理,就可以通过代理服务器来访问防火墙后面的服务,从而保证服务的安全性。
另外,通过建立 SSH 隧道,在其中使用 SOCKS5 协议将各种 TCP 和 UDP 流量路由到各自的服务,那么只需要使用 SSH,而不需要使用其他 VPN 网络。所以使用起来比较简单。
最后,因为 SOCKS5 只是对数据进行转发,所以出错的可能性更小,性能会更高。
SOCKS5 的使用
上面我们介绍了 SOCKS5 的各种优点,那么 SOCKS5 到底该如何使用呢?接下来向大家介绍一个使用 ssh 命令搭建一个简单的 SOCKS5 代理服务器。
先看下 SSH 建立 SOCKS 服务的命令:
-f 表示 SSH 作为守护进程进入后台执行。
-N 表示不执行远程命令,只用于端口转发。
-D 表示是端口上的动态转发。这个命令支持 SOCKS4 和 SOCKS5。
-C 表示发送前压缩数据。
bindaddress 本地服务器的绑定地址。
port 表示本地服务器的指定侦听端口。
name 表示 ssh 服务器登录名。
server 表示 ssh 服务器地址。
上面命令的意思是,在本机建立端口绑定,然后将其转发到远程的代理服务器上。
比如我们可以在本机开一个 2000 的端口,将其转发到远程 168.121.100.23 这台机子上:
有了代理服务器之后,就可以使用了,首先介绍一个怎么在 curl 命令中使用 SOCKS 代理。
我们想通过代理服务器,访问 www.flydean.com,该怎么做呢?
要想检测 SOCKS 的连接,还可以使用 netcat 命令如下:
总结
SOCKS5 是一个非常有用的代理协议,你可以在需要的时候用上它。你懂的!
本文已收录于 http://www.flydean.com/10-socks5-more/
最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!
欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!
版权声明: 本文为 InfoQ 作者【程序那些事】的原创文章。
原文链接:【http://xie.infoq.cn/article/5d83129a66afc11ffc3c92f12】。文章转载请联系作者。
评论