Тунгалаг TCP-ээс SOCKS руу дамжуулалтын анхны очих газрууд
Тунгалаг TCP-ээс SOCKS руу дамжуулалт нь прокситой хэлэлцэхээс өмнө анхны очих газрыг сэргээдэг орчуулагч яагаад хэрэгтэйг тайлбарлана.
Галт хана TCP холболт хаана буухыг өөрчилж чадна. Гэхдээ зөвхөн тэр өөрчлөлтөөр анхны програмыг SOCKS ярьдаг болгож чадахгүй.
Энгийн SOCKS сервер хүссэн очих газрыг тодорхойлсон хэлэлцээрийг хүлээдэг. Проксиг мэдэхгүй програм оронд нь өөрийн протоколын байтуудыг даруй илгээдэг. Тэдгээр байтыг шууд SOCKS сонсогч руу чиглүүлбэл хоёр тал эхний мессежийн талаар санал нийлэхгүй.
Дутуу бүрэлдэхүүн нь орчуулагч
Тунгалаг TCP-ээс прокси руу чиглэсэн бүрэлдэхүүн тэдгээр интерфейсийн хооронд байрлана. Энэ нь програм анх хүссэн очих газрыг олж, тохирох SOCKS эсвэл HTTP CONNECT сесс үүсгээд, дараа нь програмын өгөгдлийг үүссэн урсгалаар дамжуулна.
Өөрийн Linux iptables замд redsocks-ийн эх код хадгалагдсан очих газрыг SO_ORIGINAL_DST ашиглан авдаг. Бусад үйлдлийн систем, дахин чиглүүлэх аргууд өөр механизм ашигладаг. Энэ нь дахин чиглүүлэгч болон сүлжээний тохиргооны шинж чанар бөгөөд энгийн SOCKS клиентийн боломж биш.
Анхны очих газрын мэдээлэл нь дахин чиглүүлэх дүрмийг прокси хостэос хамааралгүй гарц руу зөөх нь яагаад үргэлж ижил утгатай биш болохыг мөн тайлбарлана. Хүлээн авах процесс нь өөрийн саатуулах горимд шаардагдах мета өгөгдлийг хэрэгтэй. Өөр газар дахин бичигдсэн хаяг тэр мэдээллийг хүлээгдэж буй хэлбэрээр өгөхгүй байж магадгүй.
Орчуулагчийн хамрах хүрээг тодорхой байлгаарай. Ажиллаж байгаа дахин чиглүүлсэн TCP холболт нь дурын UDP, ICMP эсвэл шийдвэрлэгчийн бүх замд дэмжлэг байгааг нотлохгүй. Дээд прокси протокол болон орчуулагчийн хэрэгжилт дэмжигдэх үйлдлүүдийг одоо ч тодорхойлдог.
Холболтын дараа шууд тохиргоо бүтэлгүйтвэл, хандалтын дүрмийг өргөжүүлэхийн өмнө протоколын хил хязгаарыг шалгаарай. Бүрэн хүрч болох SOCKS сонсогч хэзээ ч SOCKS хүсэлт байгаагүй байтуудыг татгалзаж болно.