SOCKS atsakymas nėra DNS užklausos rezultatas
Atskirkite prieglobos vardo naudojimą tarpinio serverio pusėje nuo DNS užklausų API ir teisingai interpretuokite SOCKS CONNECT susietąjį adresą.
Paprašyti SOCKS tarpinio serverio prisijungti prie prieglobos vardo nėra tas pats, kas paprašyti grąžinti to vardo DNS įrašus.
Tarpinis serveris gali išspręsti vardą kaip prašomo ryšio užmezgimo dalį. Jis taip pat gali perduoti užduotį kitam tinkamam aukštupio serveriui. Klientas gauna SOCKS atsakymą, aprašantį ryšio rezultatą, o ne bendrą DNS atsakymą.
CONNECT atveju atsakymo susietasis adresas ir prievadas aprašo serverio pusės susiejimą, kaip jį apibrėžia protokolas. Nelaikykite BND.ADDR pažadėta paskirties vietos išspręsto IP kopija.
Jei programai reikia tik ryšio, ji gali naudoti gautą srautą nežinodama, kurį paskirties adresą pasirinko tarpinis serveris. Jei jai reikia pačių DNS duomenų, pasirinkite tikrai DNS galinčią sąsają su numatyta sprendėjo vieta ir politika.
Šis skirtumas taip pat apsaugo nuo klaidingo IP tikrinimo: tarpinio serverio susietasis adresas, paskirties IP ir svetainei matoma viešoji išeitis yra skirtingos reikšmės. Vieno nereikėtų vadinti kitu vien todėl, kad jis pasirodė tame pačiame rankos paspaudime.