Nechajte cieľ Java SOCKS nevyriešený
Vyhnite sa lokálnemu DNS cieľa pri vytváraní pripojenia Java SOCKS zachovaním názvu cieľového hostiteľa.
Pripojenie SOCKS môže zlyhať lokálne skôr, než proxy dostane šancu vyriešiť cieľ. Skontrolujte, či váš kód vyriešil cieľ pri zostavovaní adresy socketu.
Pre socket Java SOCKS zachovajte názov cieľového hostiteľa s nevyriešenou adresou cieľa:
Proxy proxy = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("203.0.113.10", 1080));
Socket socket = new Socket(proxy);
socket.connect(InetSocketAddress.createUnresolved(
"destination.example", 443), 5000);Koncový bod a názov hostiteľa sú zástupné hodnoty; použite svoju službu SOCKS5 alebo kandidáta zo zoznamu proxy SOCKS5 na povolené testy verejného cieľa. Dôležitý rozdiel je medzi vyriešením proxy, aby ste sa k nej dostali, a zachovaním názvu cieľa pre výmenu SOCKS.
Po pripojení klient HTTPS stále potrebuje reláciu TLS pre názov hostiteľa cieľa. Obal TLS by nemal používať názov hostiteľa proxy ako identitu partnera.
Skontrolujte aj kód vyššej úrovne: knižnica môže vykonať vlastné vyhľadávanie predtým, než zavolá váš konektor. Zachovanie názvu hostiteľa v tejto adrese socketu nemôže vrátiť späť vyhľadávanie vykonané inde v aplikácii.