Ein Programm unter proxychains löst einen normalen Hostnamen in einen ungewohnten Adressbereich auf. Diese Adresse kann ein interner Buchführungswert des Wrappers sein und keine DNS-Antwort aus dem Internet.

Im proxy-DNS-Modus kann proxychains-ng einen Hostnamen merken, der Anwendung eine synthetische Adresse zurückgeben und diesen Wert später wieder in den Hostnamen übersetzen, wenn die abgefangene Verbindung über einen Proxy geöffnet wird.

Der Platzhalter ist nicht die Exit-IP

Die Beispielkonfiguration dokumentiert proxy_dns und remote_dns_subnet. Der reservierte Zuordnungsbereich ist konfigurierbar. Es ist keine Adresse, die Sie anpingen oder als öffentliche Quelle des Proxys veröffentlichen sollten.

Das setzt voraus, dass die relevanten Namensauflösungs- und Verbindungsaufrufe innerhalb des vorgesehenen Prozesses abgefangen werden. Ein Programm, das sein eigenes DNS über einen anderen Mechanismus ausführt, den Platzhalter für eine spätere unabhängige Verwendung speichert oder den Pfad des angehängten Sockets umgeht, kann sich anders verhalten.

Diese Einschränkung erklärt, warum eine synthetische Adresse in einem Protokoll für sich genommen kein Beweis dafür ist, dass die gesamte Anwendung Remote-DNS korrekt nutzt. Ebenso prüft ein separates DNS-Werkzeug außerhalb des umhüllten Prozesses nicht die zugeordnete Verbindung der Anwendung.

Unterscheiden Sie den Platzhalter der Anwendung, die tatsächliche Zieladresse auf der Proxy-Seite und den öffentlichen Ausgang, den die Website sieht. Sie erfüllen unterschiedliche Aufgaben und müssen nicht übereinstimmen.

Behalten Sie beim Debuggen den Hostnamen in Ihren Notizen und identifizieren Sie den genauen umhüllten Prozess und die Konfiguration. Ein verdächtig wirkender Platzhalter, der von Hand ersetzt wird, kann die Zuordnung verwerfen, die der Wrapper zum Wiederherstellen dieses Hostnamens benötigt, und aus einer verständlichen Indirektion eine Verbindung zum falschen Ziel machen.

Ähnliche Artikel