Что не так с моим носки v5 рукопожатие?

Я пытаюсь заставить мою программу направлять трафик через tor, внедряя SOCKS5, и пока у меня есть это:

char first =(0x00,0x01,0x05);
char sec=(0x50,0x00,0xE2,0xE1,0x7D,0x4A,0x01,0x00,0x01,0x05);
send(ProxySocket, &first,(int) 3,0);
send(ProxySocket, &sec, (int) sizeof(sec),0);

Но когда я запускаю мою программу, tor сообщает мне: «[warn] загрузка рукопожатия socks не удалась. Закрытие.» Что-то не так с пакетами, которые я отправляю?

-2

Решение

Этот код неверен.
Ценность
первый символ = (0x00, 0x01, 0x05);
будет 0x05. Смотрите правило круглых скобок в назначении.
Я думаю, что это должно быть
char first [] = {0x00, 0x01, 0x05};
Теперь вы можете сначала использовать оператор sizeof.

Во втором посылке вы используете sizeof (sec), который получается один символ.

Использование:

 char sec[] = {0x50,0x00,0xE2,0xE1,0x7D,0x4A,0x01,0x00,0x01,0x05};

Ваш код должен быть:

char first[] ={0x00,0x01,0x05};
char sec[]={0x50,0x00,0xE2,0xE1,0x7D,0x4A,0x01,0x00,0x01,0x05};
send(ProxySocket, first,(int) sizeof(first),0);
send(ProxySocket, sec, (int) sizeof(sec),0);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]