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

Обичан SOCKS сервер очекује преговор који описује тражено одредиште. Апликација која не зна за прокси уместо тога одмах шаље сопствене бајтове протокола. Преусмерите те бајтове право на SOCKS ослушкивач и две стране ће се разићи око прве поруке.

Компонента која недостаје је преводилац

Транспарентна компонента за прослеђивање TCP-а на прокси стоји између тих интерфејса. Открива одредиште које је апликација изворно тражила, успоставља одговарајућу SOCKS или HTTP CONNECT сесију, а затим преноси податке апликације преко насталог тока.

На својој Linux iptables путањи, изворни код redsocks-а добава сачувано одредиште помоћу SO_ORIGINAL_DST. Други оперативни системи и методе преусмеравања користе другачије механизме. То је својство преусмеривача и мрежног подешавања, а не обична функција SOCKS клијента.

Информација о изворном одредишту објашњава и зашто премештање правила преусмеравања са хоста проксија на неповезани гејтвеј није увек истоветно. Процес који прима треба метаподатке које захтева његов начин пресретања. Адреса препиcана негде другде можда више не пружа ту информацију у очекиваном облику.

Држите обим преводиоца јасним. Исправна преусмерена TCP веза не доказује подршку за произвољни UDP, ICMP или сваку путању разрешивача. Протокол надређеног проксија и имплементација преводиоца и даље одређују подржане операције.

Када подешавање не успе одмах после повезивања, проверите границу протокола пре него што проширите правила приступа. Савршено доступан SOCKS ослушкивач може одбити бајтове који никада нису били SOCKS захтев.

Повезани чланци