2015-07-10 4 views
1

У меня есть функция, предназначенная для создания пакета квитирования для носков; но я не могу найти никакой информации о том, как заполняются поля авторизации. Как отформатирован пакет проверки подлинности?socks proxy authentication in c

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) { 

    }; 
} 
+1

Аутентификация и безопасная передача данных выполняются на уровне приложения, и то, что вы заполняете, является транспортным уровнем. Проверьте SSL/TLS. Должно быть довольно просто реализовать то, что вам нужно, используя OpenSSL – Elalfer

+1

@Elalfer. Я думаю, этот вопрос касается того, что клиент аутентифицируется на прокси SOCKS, чтобы иметь возможность использовать прокси-сервер. – immibis

ответ