我有一个设计用来制作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协议版本5开始,并可能从RFC1961GSS-API认证方法开始。
如果这两种方法都不起作用,也许看看socat的来源(它可以充当SOCKS5代理)会有帮助。
关于c - socks 在C代理认证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31332006/