170 похожих чатов

Опишу логику программы void startAcceptor(); // запускаю acceptor на

локальный порт 15000, хочу поднять Socks5 на локальном порте
void sendAuthHeader(); // по стандарту RFC 1928 Socks5 отправляю клиенту заголовок что аутентификация не нужна
void handleClientRequest(); // получаю запрос от клиента с адресом и портом хоста к которому он хочет подключиться -> google.com:80

void handleProxyConnection(); // Подключаюсь к внешней проксе Socks5 RFC 1928, получаю заголовки
void handleSocks5AuthResponse(); // Отправляю заголовок аутентификации стандарт RFC 1929
void handleSocks5AuthResult(); // Получаю заголовок успешной аутентификации

void handleSocks5Response(); // Получаю заголовок присланый проксей с айпи и портом прокси 293.124.34.2:3942 (пример)

void writeLocalHeader(); // Отправляю полученный заголовок на локальный порт клиенту 293.124.34.2:3942
void writeSocksHeader(); // Отправляю удаленной проксе запрос с адресом и портом который получил на шаге со стрелкой выше -> google.com:80

void readSocksSocket(); // Пытаюсь прочитать из прокси данные и получаю end of file

Что я делаю не так?

5 ответов

18 просмотров

Почему вы думаете, что проблема в коде сервера? Может действительно клиент закрывает коннект сразу же

Ivan- Автор вопроса
Stas
Почему вы думаете, что проблема в коде сервера? М...

клиент это прокси чекер который отправляет запрос и пытается получить ответ

Ivan- Автор вопроса
Stas
Почему вы думаете, что проблема в коде сервера? М...

с него то я заголовок запрашеваемого адреса получил и осталось пообщаться с сервером

Ivan
с него то я заголовок запрашеваемого адреса получи...

Ну может что-то вернули неправильное и он закрыл соединение

Ivan- Автор вопроса
Stas
Ну может что-то вернули неправильное и он закрыл с...

видимо прокся закрылась потому что ей что-то непонравилось. спасибо что объяснили ошибку end of file

Похожие вопросы

Обсуждают сегодня

Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
13
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Карта сайта