0.0.0.0:0 у запыце Indy UDP ASSOCIATE можа быць наўмысным. Гэты запыт апісвае чаканы UDP-эндпойнт кліента, і RFC 1928 дазваляе нулі, калі ён невядомы. Ён не выбірае канчатковую паслугу.

BND.ADDR/BND.PORT у адказе паказвае рэлей, на які кліент дасылае інкапсуляваныя датаграмы.

TCP control: client → SOCKS5 proxy → UDP association reply
UDP payload: client → returned relay address → target service

У Indy TIdUDPClient.Connect выклікае OpenUDP празрыстага проксі. TIdSocksInfo падае палі нулявой асацыяцыі. Пазней SendBuffer перадае патрэбную паслугу ў SendToUDP, які будуе загаловак прызначэння SOCKS UDP перад данымі праграмы.

Калі асацыяцыя паспяховая, але трафік не ідзе, праверце вернуты рэлей, закадзіраванае прызначэнне і шлях адказу UDP. NAT/файрволы могуць прапускаць абмен TCP і блакаваць UDP.

Трымайце кіруючае злучэнне TCP адкрытым; яго закрыццё спыняе асацыяцыю. SOCKS4/4a не маюць гэтай аперацыі, і адно імя SOCKS5 не гарантуе, што сервер падтрымлівае UDP.

Падобныя артыкулы