SOCKS serveriga Socket.Connect() ni yo'naltirish o'sha server bilan TCP ulanishini ochadi. Keyingi baytlar baribir SOCKS tilida gapirishi kerak. Dastur protokolini darhol yuborish serverni boshqa suhbatni kutib qoldiradi.

SOCKS5 da ulanish o'rnatish usul muzokarasi, tanlangan autentifikatsiya almashinuvi va manzilni ko'rsatuvchi so'rovni o'z ichiga oladi. Faqat muvaffaqiyatli javob dastur baytlari uchun yo'l ochadi. Bu bosqichlar RFC 1928 da belgilangan.

Muzokarani ulanish qatlamida saqlang

O'z TCP protokoliga ega dastur proxyni biladigan va o'rnatilgan oqimni qaytaradigan ulagichdan foydalanishi mumkin. Dasturning qolgan qismi shu oqim orqali o'qiydi va yozadi. Ulagich qisman o'qishlarni, o'zgaruvchan uzunlikdagi manzillarni, autentifikatsiya xatolarini va muzokara uchun muddatni hisobga olishi kerak.

Ruxsat etilgan o'lchamdagi bitta buferni o'qib, muvaffaqiyatni taxmin qiladigan qo'lda yozilgan tatbiq mo'rt. TCP SOCKS xabarlarining chegaralarini saqlamaydi. Dastur protokolini boshlashdan oldin uning manzil turi bilan tavsiflangan to'liq javobni o'qing. .NET 7+ uchun CONNECT javob o'quvchisi shu bosqichni ko'rsatadi.

Agar qo'llab-quvvatlanadigan kutubxona bu ulanish qatlamini allaqachon taqdim etsa, uning qo'llab-quvvatlanadigan SOCKS versiyalari, autentifikatsiya usullari va maqsad freymvorkini tekshiring. O'n yillik forum havolasi tekshirish uchun boshlang'ich nuqta, hozirgi muvofiqlikning dalili emas.

HTTP mijozi konfiguratsiyasi alohida qamrovga ega

HTTP mijozining proxy sozlamasi o'sha HTTP mijozini sozlaydi. U jarayondagi har bir xom socketni o'zgartirmaydi. Socket API tarmoq oxirgi nuqtasini qabul qiladi va yuqori darajadagi muzokarani chaqiruvchiga qoldiradi.

Shifrlangan dastur protokoli uchun proxy tunneli o'rnatilgandan keyin uning TLS handshake jarayonini bajaring. O'sha bosqichda ko'zlangan manzil identifikatorini tekshiring. Proxy autentifikatsiyasi va manzil autentifikatsiyasi bir xil asosiy oqimdan foydalansa ham alohida qoladi.

O'xshash maqolalar