Een programma onder proxychains herleidt een gewone hostnaam naar een onbekend adresbereik. Dat adres kan een boekhoudwaarde binnen de wrapper zijn in plaats van een DNS-antwoord van het internet.

In zijn proxy-DNS-modus kan proxychains-ng een hostnaam onthouden, een synthetisch adres aan de toepassing teruggeven en die waarde later weer naar de hostnaam vertalen wanneer de onderschepte verbinding via een proxy wordt geopend.

De plaatshouder is niet het exit-IP

De voorbeeldconfiguratie documenteert proxy_dns en remote_dns_subnet. Het gereserveerde toewijzingsbereik is configureerbaar. Het is geen adres dat je zou moeten verwachten te pingen of als de openbare bron van de proxy te publiceren.

Dit hangt ervan af of de relevante naamzoek- en verbindingsaanroepen binnen het bedoelde proces worden onderschept. Een programma dat zijn eigen DNS via een ander mechanisme uitvoert, de plaatshouder voor later ongerelateerd gebruik bewaart of het pad van de aangehaakte socket omzeilt, kan zich anders gedragen.

Die beperking verklaart waarom een synthetisch adres in een log op zichzelf geen bewijs is dat de hele toepassing remote DNS correct gebruikt. Evenzo test een apart DNS-hulpprogramma buiten het ingepakte proces niet de toegewezen verbinding van de toepassing.

Onderscheid de plaatshouder van de toepassing, het werkelijke bestemmingsadres dat aan de proxyzijde wordt gekozen en de openbare uitgang die de website ziet. Ze dienen verschillende doelen en hoeven niet overeen te komen.

Houd bij het debuggen de hostnaam in je notities en identificeer het exacte ingepakte proces en de configuratie. Het handmatig vervangen van een verdachte plaatshouder kan de toewijzing verliezen die de wrapper nodig had om die hostnaam te herstellen, waardoor een begrijpelijke indirectie een verbinding met de verkeerde bestemming wordt.

Gerelateerde artikelen