我有一个设计用来制作 socks 握手包的功能;但我找不到有关如何填写授权字段的任何信息。认证包是如何格式化的?
void socks_auth(int sd, char *buffer) {
char *ptrBuff;
ptrBuff = buffer;
*(ptrBuff++) = SOCKS_V;
*(ptrBuff++) = 2;
*(ptrBuff++) = 0x00;
*(ptrBuff++) = 0x02;
send(sd, ptrBuff, ptrBuff - buffer, 0);
recv(sd, buffer, 2, 0);
if (buffer[1] == 0xFF) write(STDOUT_FILENO, "not supported\n", 14);
if (buffer[1] == 0x02) {
};
}
最佳答案
我建议您从 RFC1928 开始、SOCKS 协议(protocol)版本 5 和可能的 RFC1961 SOCKS 版本 5 的 GSS-API 身份验证方法。
如果这些都没有帮助,或许可以查看 socat 的来源,它可以充当 SOCKS5 代理,将会有所帮助。
关于c - c中的socks代理身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332006/