LINUX.ORG.RU

again socks


0

0

Здравствуйте. Прочитал rfc, но признаться не сильно помогло. Буду весьма благодарен если кто поможет разобраться. Пока я понял следующее: конектимся на сокс сервер, если надо авторизуемся, после чего сервер возвращает нам адрес и порт, который он для нас открыл и через который мы теперь можем работать, конектимся на этот адрес и порт. Верно? Мне не совсем понятен как именно отсылать данные сокс серверу. В рфц написано в каком порядке, что именно, но не написано КАК именно. Меня интересует реализация на Си. Пробовал посмотреть на примере dante - но это видать не мой уровень - слищком сложно. Если кто знает - объясните пожалуйста.

anonymous

для SOCKS4
1. Соединяешься с socks сервером
2. Заполняешь в соответствие с  RFC следующую структуру
struct sockreq {
    int8_t version;
    int8_t command;
    int16_t dstport;
    int32_t dstip;
    //A null terminated username goes here
};
и отправляешь ее серверу.
в ответ получаешь структуру типа
struct sockrep {
    int8_t version;
    int8_t result;
    int16_t ignore1;
    int32_t ignore2;
};
анализируешь результат по RFC
если все ок, работаешь с тем хостом, к которому обращались через прокси.

Dead ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.