0.0.0.0:0 dalam permintaan UDP ASSOCIATE Indy bisa disengaja. Permintaan itu menjelaskan titik akhir UDP yang diharapkan di sisi klien, dan RFC 1928 mengizinkan nol bila tidak diketahui. Permintaan itu tidak memilih layanan akhir.

BND.ADDR/BND.PORT pada balasan menandai relay tempat klien mengirim datagram terbungkus.

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

Di Indy, TIdUDPClient.Connect memanggil OpenUDP milik proxy transparan. TIdSocksInfo menyediakan bidang asosiasi nol. Nanti, SendBuffer meneruskan layanan yang diinginkan ke SendToUDP, yang menyusun tajuk tujuan SOCKS UDP sebelum data aplikasi.

Jika asosiasi berhasil tetapi lalu lintas gagal, periksa relay yang dikembalikan, tujuan yang dikodekan, dan jalur balasan UDP. NAT/firewall dapat meloloskan pertukaran TCP sambil memblokir UDP.

Pertahankan koneksi kontrol TCP tetap terbuka; menutupnya mengakhiri asosiasi. SOCKS4/4a tidak memiliki operasi ini, dan label SOCKS5 saja tidak menjamin server mendukung UDP.

Artikel terkait