Şəffaf TCP-dən SOCKS-a yönləndirmədə orijinal təyinatlar
Şəffaf TCP-dən SOCKS-a yönləndirmənin proksilə danışıqlardan əvvəl orijinal təyinatı bərpa edən tərcüməçiyə niyə ehtiyac duyduğunu izah edir.
Firewall TCP bağlantısının hara düşdüyünü dəyişə bilər. Lakin yalnız bu dəyişikliklə mənbə tətbiqə SOCKS danışmağı öyrədə bilməz.
Adi SOCKS serveri tələb olunan təyinatı təsvir edən danışıq gözləyir. Proksidən xəbərsiz tətbiq isə bunun əvəzinə öz protokol baytlarını dərhal göndərir. Həmin baytları birbaşa SOCKS dinləyicisinə yönləndirsəniz, iki tərəf ilk mesaj barədə razılaşmaz.
Çatışmayan komponent tərcüməçidir
Şəffaf TCP-dən proksiyə komponenti bu interfeyslər arasında yerləşir. Tətbiqin əvvəlcə tələb etdiyi təyinatı tapır, uyğun SOCKS və ya HTTP CONNECT sessiyası qurur və sonra tətbiq məlumatlarını yaranan axın üzərindən ötürür.
Linux iptables yolunda redsocks mənbəyi qorunmuş təyinatı SO_ORIGINAL_DST vasitəsilə əldə edir. Digər əməliyyat sistemləri və yönləndirmə üsulları fərqli mexanizmlərdən istifadə edir. Bu, yönləndiricinin və şəbəkə quraşdırmasının xassəsidir, adi SOCKS müştəri funksiyası deyil.
Orijinal təyinat məlumatı həm də izah edir ki, yönləndirmə qaydasını proksi hostundan əlaqəsiz şlüzə köçürmək həmişə ekvivalent deyil. Qəbul edən proses öz müdaxilə rejiminin tələb etdiyi metadatanı istəyir. Başqa yerdə yenidən yazılmış ünvan bu məlumatı gözlənilən formada verməyə bilər.
Tərcüməçinin əhatəsini aydın saxlayın. İşləyən yönləndirilmiş TCP bağlantısı ixtiyari UDP, ICMP və ya hər resolver yoluna dəstəyi sübut etmir. Yuxarı proksi protokolu və tərcüməçinin tətbiqi dəstəklənən əməliyyatları hələ də müəyyən edir.
Quraşdırma bağlantıdan dərhal sonra uğursuz olursa, giriş qaydalarını genişləndirməzdən əvvəl protokol sərhədini yoxlayın. Tam əlçatan SOCKS dinləyicisi heç vaxt SOCKS sorğusu olmamış baytları rədd edə bilər.