浅析socks5协议的TCP认证

话不多说,先上图,看图说话。

1、客户端建立连接并发送认证

创建与socks5服务器的TCP连接后,客户端要先发送请求来协商版本及认证方式:格式为:

VER:socks的版本(socks5对应的是0x05)

NMETHODS:在METHODS字段中出现的方法的数目.

METHODS:客户端支持的认证方式列表,每个方法占1字节。

对应的代码:

2、 服务器返回确认信息

VER:socks版本(在socks5中是0x05);

METHOD:服务端选中的方法(若返回0xFF表示没有方法被选中,客户端需要关闭连接);

如果是需要用户名密码认证,则发送用户名密码。

VER:鉴定协议版本

ULEN:用户名长度

UNAME:用户名

PLEN:密码长度

PASSWD:密码

服务器鉴定完之后,返回:

VER:鉴定协议版本

STATUS:鉴定状态

其中鉴定状态 0x00 表示成功,0x01 表示失败。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注