URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5538
[ Назад ]

Исходное сообщение
"UDP через SOCKS5"

Отправлено WeSTMan , 20-Июн-20 13:02 
Всем привет. Не могу понять почему не работает UDP через SOCKS5. Что я делаю:

Я соединяюсь с SOCKS сервером и говорю, что хочу сделать UDP ASSOCIATE. В ответ на это SOCKS высылает IP и Port - куда можно слать UDP.

Я генерирую UDP пакет на этот адрес и порт с содержимым:

2 байта резерв

1 байт - фрагмент

1 байт - протокол ipv4

4 байта IP адрес куда надо отправить UDP с SOCKS

2 байта - порт куда отправить

3 байта - данные. В результате получился такой набор:

000001015f1f2e01029a313233

2 байта резерв + 1 фрагмент + ip = 95.31.46.1 + порт 666 + данные 123.

Все это дело отправляю на SOCKS5. Но к сожалению, на сервер 95.31.46.1:666 ничего не приходит.

Подскажите, пожалуйста, что я сделал неверно


Содержание

Сообщения в этом обсуждении
"UDP через SOCKS5"
Отправлено Аноним , 20-Июн-20 14:26 
> Подскажите, пожалуйста, что я сделал неверно

Подробно описал то, что в общем-то значения не имеет, ничего не сказал о том, что может дать пищу для ума. Что за сервер, как именно данные отправляешь, что на сервере с файрволлом, что на клиенте с файрволлом...



"UDP через SOCKS5"
Отправлено Аноним , 20-Июн-20 14:31 
> 1 байт - фрагмент

зачем там 01 стоит? если это начало большой датаграммы, что не влезла в один пакет, то должен быть последующий с увеличенным номером, и финальный с >=0x80

   Поле FRAG показывает, является ли эта датаграмма самостоятельной или
   же фрагментом. Если датаграмма - фрагмент, то установленный старший
   бит является признаком последнего фрагмента, в то время как значение
   X'00' показывает, что это обычная датаграмма. Значения от 1 до 127
   обозначают на позицию фрагменте в последовательности. Каждый
   получатель будет иметь REASSEMBLY QUEUE (очередь сборки) и REASSEMBLY
   TIMER (таймер сборки) связанные с такой фрагментной датаграммой.
   Очередь сборки должна быть переинициализирована и связанные с ЙЙней
   фрагменты выкинуты всякий раз при истечении таймера сборки или
   с приходом новой датаграммы, чье значение в поле FRAG меньше,
   чем наибольшее значение поля FRAG датаграмм, обработанных
   при сборке фрагмента. Таймер сборки должен быть не менее 5 секунд.
   Приложениям рекомендуется избегать фрагментацию везде, где только
   это возможно.

   Реализация фрагментации опциональна, в реализациях где фрагментация
   не поддерживается, должны отбрасываться любые датаграммы, у которых
   поле FRAG отлично от X'00'.


"UDP через SOCKS5"
Отправлено WeSTMan , 20-Июн-20 14:55 
>[оверквотинг удален]
>    с приходом новой датаграммы, чье значение в поле FRAG
> меньше,
>    чем наибольшее значение поля FRAG датаграмм, обработанных
>    при сборке фрагмента. Таймер сборки должен быть не менее
> 5 секунд.
>    Приложениям рекомендуется избегать фрагментацию везде, где только
>    это возможно.
>    Реализация фрагментации опциональна, в реализациях где фрагментация
>    не поддерживается, должны отбрасываться любые датаграммы, у которых
>    поле FRAG отлично от X'00'.

Выставил фрагмент в 00, все заработало. Спасибо. Истина так близко была)