0%

Socks协议实现

《Socks协议》所述,实现Socks协议的软件有很多,本文主要介绍OpenSSH和ShadowSocks。

一、OpenSSH

OpenSSH中的ssh程序和sshd程序不仅分别实现了ssh协议的SSH Client和SSH Server,还分别实现了Socks协议的Socks Client和Socks Server。
当使用ssh程序的动态转发功能时,使用的就是Socks协议,此时ssh程序作为Socks Client,sshd程序作为Socks Server。

二、ShadowSocks

ShadowSocks软件特定实现了Socks协议,其中包含ShadowSocks Client和ShadowSocks Server,分别实现了Socks协议的Socks Client和Socks Server。

三、两种实现的比较

实现方案 常用的连接建立方式需要的参数 上网速度 抗干扰性
OpenSSH 1、Socks Server所在的机器的地址,即sshd程序所在的机器的地址
2、Socks Server监听的端口号,即sshd程序监听的端口号
3、合法帐号
4、合法私钥
跟ShadowSocks相差无几 Socks Client和Socks Server之间的连接隧道只创建一次,一旦被创建后,就通过控制信息来维持该隧道,遭到干扰而使得连接隧道被断开后,该连接隧道不会被自动再次创建
ShadowSocks 1、Socks Server所在的机器的地址,即ShadowsSocks Server程序所在的机器的地址
2、Socks Server监听的端口号,即ShadowsSocks Server程序监听的端口号
3、合法密码
4、Socks连接加密方式
跟OpenSSH相差无几 Socks Client和Socks Server之间的连接隧道允许被多次按需创建,一旦有数据传输需求,就可以创建连接隧道,遭到干扰而使得连接隧道被断开后,该连接隧道可以自动再次被创建

参考文献

[1]https://www.yaoblog.info/?p=7411
[2]http://ilovetile.com/3423

您的支持将鼓励我继续分享!