.NET socket þarf SOCKS handaband
Útskýrðu hvað hrár .NET TCP socket þarf að gera áður en bæti forritsins geta ferðast gegnum SOCKS proxy.
Að beina Socket.Connect() að SOCKS þjóni opnar TCP tengingu við þann þjón. Næstu bæti verða samt að tala SOCKS. Að senda siðareglur forritsins strax lætur þjóninn bíða eftir annarri samræðu.
Með SOCKS5 felur tengingin í sér aðferðarsamning, hugsanleg valin auðkenningarskipti og beiðni sem nefnir áfangastaðinn. Aðeins farsælt svar opnar leiðina fyrir bæti forritsins. Þessi stig eru skilgreind í RFC 1928.
Haltu samningnum í tengingarlaginu
Forrit með eigin TCP siðareglur getur notað proxy-meðvitaðan tengil sem skilar uppsettri straumi. Restin af forritinu les og skrifar svo gegnum þá straum. Tengill verður að taka tillit til hlutaslestra, heimilisfanga af breytilegri lengd, auðkenningarmistaka og frests fyrir samninginn.
Handskrifuð útfærsla sem les eina biðminni af fastri stærð og gerir ráð fyrir árangri er brothætt. TCP varðveitir ekki mörk SOCKS skeytanna. Lestu hið fullkomna svar sem lýst er af heimilisfangstegund þess áður en þú byrjar siðareglur forritsins. .NET 7+ CONNECT svarlesari sýnir það stig.
Ef viðhaldið safn veitir þegar þetta tengingarlag, athugaðu studdar SOCKS útgáfur þess, auðkenningaraðferðir og markrammann. Tíu ára gamall vettvangstengill er upphafsstaður fyrir rannsókn en ekki sönnun fyrir núverandi samhæfni.
Stilling HTTP biðlarans hefur sérstakt umfang
Proxy stilling HTTP biðlara stillir þann HTTP biðlara. Hún breytir ekki hverju hráu socket í ferlinu. Socket API tekur við netendapunkti og lætur samninginn á hærra stigi eftir til kallandans.
Fyrir dulkóðaðar siðareglur forritsins skaltu framkvæma TLS handaband þess eftir að proxy göngin eru uppsett. Staðfestu auðkenni fyrirhugaðs áfangastaðar á því stigi. Auðkenning proxys og auðkenning áfangastaðar haldast aðskilin þótt þau noti sama undirliggjandi straum.