Апликацијата нема SOCKS опција, но може да се поврзе на избрана TCP адреса. Адаптер со фиксна цел може да го обезбеди SOCKS разговорот за една дестинација. Не мора да стане уште еден општ напреден прокси.

За socat изградби што обезбедуваат SOCKS4A, илустративен распоред е:

socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
  SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080

SOCKS крајната точка е локалниот порт 1080. Адаптерот слуша на локалниот порт 9443 и бара од таа крајна точка service.example.net:443. Овие се примерни вредности, а не целосно распоредување на услугата.

Адаптерот има една фиксна цел

Секоја прифатена TCP врска ја бара истата услуга. Апликацијата што се поврзува на 9443 ги доставува своите вообичаени протоколарни бајти; socat го доставува SOCKS4A преговарањето. Ново HTTP CONNECT барање до 9443 не би избрало друга дестинација—тоа би ги испратило тие бајти до фиксната услуга.

SOCKS4A доставува име на домаќин до SOCKS крајната точка за далечинско решавање. Тоа се разликува од формата SOCKS4 што користи адреса избрана од клиентот. Избраниот upstream—вклучувајќи јавен кандидат од листата SOCKS4 прокси—мора да го поддржува ракувањето со име на домаќин SOCKS4A и потребната автентикација; овој пример не е рецепт за најавување со лозинка SOCKS5.

Поврзете се локално, препознајте ја вистинската услуга

Промената на HTTPS URL во https://127.0.0.1:9443/ го менува името на домаќин што клиентот може да го користи за TLS и HTTP. Сертификат за service.example.net нема да стане валиден сертификат за loopback.

Кога клиентот поддржува одделно насочување на врската, задржете го идентитетот на оригиналниот URL. Curl може да ја илустрира таа разлика:

curl --noproxy '*' \
  --connect-to service.example.net:443:127.0.0.1:9443 \
  https://service.example.net/

Сокетот оди до локалниот адаптер, додека TLS проверката и HTTP дестинацијата остануваат service.example.net. Другите апликации бараат своја еквивалентна поддржана контрола; не секој клиент ја обезбедува.

Loopback врзувањето ја ограничува мрежната изложеност, но други подобни локални процеси сè уште можат да стигнат до него. Одржувајте го времетраењето на услугата и корисниците соодветни. Задржете ја TLS проверката наместо да ја потиснувате грешката во идентитетот причинета од loopback URL.

Поврзани статии