„Proxy-Client-Software“ ist eine Kategorie, deren Anwendungsbereich viel enger gefasst ist, als der Name vermuten lässt, und daher lautet die sinnvolle erste Frage: Brauchen Sie überhaupt eine solche Software?
Wir sind Geonode, wir verkaufen Proxys, und zunächst einmal gilt folgende ehrliche Feststellung: Eine deutliche Mehrheit der Menschen, die nach Proxy-Client-Software suchen, muss gar nichts installieren. Wenn Sie Code schreiben, akzeptiert Ihre HTTP-Bibliothek bereits ein Proxy-Argument. Wenn Sie einen Browser verwenden, verfügt der Browser oder das Betriebssystem über eine Proxy-Einstellung. Wenn Sie curl ausführen, gibt es -x. All dies sind unterstützte, dokumentierte Vorgehensweisen, die weder zusätzliche Software noch Lizenzen erfordern und keine Ausfallrisiken mit sich bringen.
Proxy-Clients dienen einem ganz bestimmten Zweck, und es lohnt sich, diesen genau zu benennen: eine Anwendung, die keine Proxy-Einstellung hat, trotzdem dazu zu zwingen, den Datenverkehr über einen Proxy zu leiten. Desktop-Software ohne Netzwerkeinstellungen, ein Spiel-Client, ein veraltetes Tool, ein Befehlszeilenprogramm, das Umgebungsvariablen ignoriert. Das ist ihre Aufgabe. Alles andere, was diese Tools leisten, dient lediglich der Bequemlichkeit.
Zweitens sollten Sie vor der Auswahl wissen, dass es vier verschiedene Ebenen gibt, auf denen ein Proxy angewendet werden kann, jede mit einem anderen Tool-Set und einem anderen Fehlermodus. Die Wahl der falschen Ebene ist der häufigste Grund dafür, dass man am Ende Software hat, die man gar nicht brauchte, oder dass Datenverkehr unbemerkt gar nicht über den Proxy geleitet wurde.
Und es gibt ein Problem, das fast jede Ebene überdauert – ein DNS-Leck, das den Namen jedes von Ihnen besuchten Hosts an Ihren lokalen Resolver sendet, selbst wenn der Datenverkehr selbst korrekt weitergeleitet wird. Diesem Problem ist ein eigener Abschnitt gewidmet, da es der häufigste Grund dafür ist, dass eine korrekt konfigurierte Proxy-Einrichtung nicht das tut, was ihr Besitzer erwartet.
Die unten aufgeführten Preise und technischen Details stammen aus der jeweiligen Dokumentation oder der Kaufseite der einzelnen Projekte.
Was ein Proxy-Client tatsächlich löst
Drei echte Probleme und eines, das meist nur eingebildet ist.
Problem Nr. 1: Die Anwendung verfügt über keine Proxy-Einstellung
Das ist das eigentliche Problem. Viele Desktop-Anwendungen stellen Netzwerkverbindungen her und bieten keine Möglichkeit, einen Proxy zu konfigurieren. Manchmal übernimmt sie die systemweite Einstellung; häufig jedoch nicht, da sie ihren eigenen Netzwerkstack verwendet.
Ein Proxy-Client löst dieses Problem, indem er die Netzwerkaufrufe der Anwendung unterhalb der Ebene abfängt, auf der die Anwendung Entscheidungen trifft. Die Anwendung merkt davon nichts. Das ist wirklich nützlich, und es gibt keine andere Möglichkeit, dies zu bewerkstelligen.
Problem 2: Verschiedene Anwendungen benötigen unterschiedliche Proxys
Eine Anwendung über eine britische Adresse, eine andere direkt, eine dritte über einen Endpunkt von SOCKS5. Die Proxy-Einstellung des Betriebssystems ist global und kann dies nicht abbilden. Ein Proxy-Client mit Regeln kann dies jedoch.
Für jeden, der regionales Verhalten testet oder auf einem Rechner den Arbeitsdatenverkehr vom Forschungsdatenverkehr trennt, ist dies die Funktion, die den Kauf rechtfertigt.
Problem drei: Verwaltung vieler Proxys
Rotation, Pooling, Failover, Wiederholungsversuche und die Beobachtung, was tatsächlich passiert ist. Dies in jedes Skript einzubauen, ist mühsam; ein lokaler Proxy-Manager erledigt dies einmalig, und alles verweist auf „localhost“.
Das imaginäre Problem: Datenschutz
Nutzer greifen auf Proxy-Clients zurück, weil sie Anonymität erwarten. Ein Proxy-Client verändert den scheinbaren Ursprungsort Ihres Datenverkehrs für den Empfänger am anderen Ende. Er verschlüsselt selbst nichts, verbirgt nichts vor dem Proxy-Betreiber und hat keinerlei Einfluss auf die Software auf Ihrem eigenen Rechner.
Wenn Datenschutz gefragt ist, lautet die Antwort ein seriöses VPN oder der Tor-Browser, nicht ein Proxy-Client. Es handelt sich um unterschiedliche Werkzeuge für unterschiedliche Probleme, und die Verwechslung ist so verbreitet, dass sie die Nutzer echtes Geld kostet.
Die vier Ebenen, auf denen Sie einen Proxy einsetzen können
Dieser Überblick ist aussagekräftiger als jeder Tool-Vergleich, daher steht er vor der Tabelle.
Ebene 1: In Ihrem Code
Ihre HTTP-Bibliothek akzeptiert einen Proxy-Parameter. „requests“ verfügt über „proxies“, „curl“ über „-x“ – die meisten Sprachen bieten eine entsprechende Funktion.
Vorteile: absolute Präzision, Kontrolle auf Anfragebasis, keine zusätzliche Software, keine Sicherheitsrisiken, und der Proxy ist im Code sichtbar, sodass zukünftige Leser ihn erkennen können.
Einschränkungen: gilt nur für Anfragen, die Sie selbst stellen.
Verwenden Sie diese Methode, wann immer es möglich ist. Wenn Sie den Code schreiben, der die Anfragen stellt, können Sie hier aufhören – der Rest dieses Artikels befasst sich mit Problemen, die Sie nicht haben.
Ebene 2: In der Anwendung
Browser, Download-Manager und viele Entwicklertools verfügen über eigene Proxy-Einstellungen. Browser-Erweiterungen ergänzen dies durch Regeln für einzelne Websites.
Vorteile: keine privilegierte Software, leicht zu ändern, auf eine Anwendung beschränkt.
Einschränkungen: nur diese Anwendung und nur, wenn sie über die entsprechende Einstellung verfügt.
Ebene 3: Systemweit
Windows, macOS und die meisten Linux-Desktops verfügen über eine systemweite Proxy-Einstellung. Korrekt funktionierende Anwendungen greifen darauf zurück.
Vorteile: integriert, kostenlos, keine Softwareinstallation erforderlich.
Einschränkungen, und diese sind erheblich: Anwendungen sind nicht verpflichtet, diese Einstellung zu beachten. Viele nutzen ihre eigenen Netzwerkverbindungen und ignorieren das System vollständig. Deshalb wird Datenverkehr, der eigentlich über den Proxy geleitet werden sollte, oft nicht umgeleitet, und deshalb ist dies eine so unzuverlässige Lösung für alles, was wirklich zählt. Überprüfen Sie es lieber, anstatt davon auszugehen.
Ebene 4: Abfangen
Hier kommt Proxy-Client-Software ins Spiel. Das Tool fängt Netzwerkaufrufe unterhalb der Anwendung ab, sodass es irrelevant ist, was die Anwendung beabsichtigt hat – die Verbindung wird unabhängig davon umgeleitet.
Proxifier nutzt hierfür unter Windows und macOS einen Treiber. proxychains erreicht dies auf Unix-ähnlichen Systemen durch das Abfangen von Bibliotheksaufrufen. Beide erzielen auf unterschiedlichen Wegen dasselbe Ergebnis.
Vorteile: Funktioniert bei Anwendungen, die überhaupt keine Proxy-Unterstützung bieten; unterstützt anwendungsspezifische Regeln.
Einschränkungen: Erfordert eine Installation mit Administratorrechten oder eine bestimmte Startmethode, weist echte Randfälle auf (siehe unten) und fügt eine Komponente hinzu, die selbst ausfallen kann.
Auswahl
Gehen Sie die Liste durch und halten Sie bei der ersten Ebene an, die funktioniert. Code, dann Anwendung, dann System, dann Abfangen. Jeder Schritt nach unten erweitert die Funktionen und fügt Fehlerquellen hinzu, wobei die überwiegende Mehrheit der Anforderungen bereits mit den ersten beiden Ebenen erfüllt wird.
Die Tools im Vergleich
| Tool | Ebene | Plattformen | Preis | Am besten geeignet für |
|---|
| Ihre HTTP-Bibliothek | Code | Alle | Kostenlos | Alles, was Sie selbst schreiben |
curl -x | Code | Alle | Kostenlos | Skripte und einmalige Anfragen |
| Browsereinstellungen / Erweiterungen | Anwendung | Alle | Kostenlos | Surfen, Regeln pro Website |
| System-Proxy-Einstellungen | System | Alle | Kostenlos | Nur „brav“ funktionierende Anwendungen |
| Proxifier | Abfangen | Windows, macOS | 39,95 $ (unbefristet) | Anwendungen ohne Proxy-Unterstützung |
| proxychains-ng | Abfangen | Linux, BSD, macOS, Haiku | Kostenlos, GPL-2.0 | Befehlszeilentools unter Unix |
| Bright Data Proxy Manager | Lokaler Manager | Windows, Linux, macOS | Kostenlos, Open Source | Rotation, Pooling, Protokollierung |
Die Tabelle lesen
Die ersten vier Zeilen sind kostenlos und decken die meisten Anforderungen ab. Das ist keine rhetorische Floskel – arbeiten Sie diese Zeilen ehrlich durch, bevor Sie den Rest in Betracht ziehen.
Proxifier ist hier das einzige nennenswerte kostenpflichtige Produkt und das einzige mit einer ausgefeilten grafischen Benutzeroberfläche. Mit 39,95 US-Dollar für eine unbefristete Lizenz statt eines Abonnements ist es im Vergleich zu einer Arbeitsstunde relativ günstig, und für die spezielle Aufgabe, hartnäckige Windows- oder macOS-Anwendungen umzuleiten, hat es keinen echten Konkurrenten.
proxychains-ng ist das Unix-Äquivalent und unter der GPL-2.0 kostenlos; es verfügt jedoch über einen deutlich anderen Mechanismus und eine Reihe von Problemen, die deutlich anders gelagert sind.
Der Proxy Manager von Bright Data ist eine wirklich nützliche Empfehlung eines unserer Wettbewerber und erwähnenswert: Er ist Open Source, läuft auf allen drei Desktop-Plattformen und unterstützt – obwohl er für das eigene Netzwerk von Bright Data konzipiert ist – externe Proxy-Anbieter über die Option „--ext_proxies“. Er funktioniert also mit Proxys von jedem Anbieter, einschließlich unserem. Er übernimmt Connection-Pooling, Lastenausgleich, Rotation, SSL-Analyse und Protokollierung über eine Weboberfläche und bietet Docker-Unterstützung.
Wir weisen Sie auf das Tool eines Mitbewerbers hin, weil es die beste kostenlose Lösung für ein Problem ist, mit dem unsere Kunden zu kämpfen haben. Ein minderwertiges Äquivalent zu entwickeln, nur um Sie in unserem Ökosystem zu halten, wäre Zeitverschwendung für alle Beteiligten.
Proxifier und der Desktop-Fall
Die kommerzielle Option, auf die man zurückgreifen sollte, wenn eine Windows- oder macOS-Anwendung einfach keine Proxy-Einstellung bietet.
So funktioniert es
Proxifier installiert einen Treiber, der Verbindungen auf der Netzwerkebene abfängt und sie gemäß der von Ihnen definierten Regeln umleitet. Die Anwendung, die die Verbindung herstellt, wird nicht befragt und muss nicht mitwirken.
Die Regeln sind der Grund, warum man das Programm kaufen sollte. Sie können nach Anwendung, Zielhost, Port und Kombinationen aus diesen filtern – ein Programm über einen Proxy, ein anderes direkt, ein drittes vollständig blockiert. Das lässt sich in keiner systemweiten Einstellung realisieren.
Preise
39,95 $ für eine Einzellizenz, die entweder die Proxifier Standard Edition für Windows, die Portable Edition für Windows oder Proxifier für Mac umfasst. Es handelt sich um unbefristete Lizenzen, die alle zukünftigen Minor-Version-Updates beinhalten – keine Abonnements –, und es gibt Mengenrabatte von bis zu 40 %. Es gibt eine 30-tägige Geld-zurück-Garantie (aktuelle Preise).
Ein einmaliger Kauf in einer Kategorie, die von Abonnements dominiert wird, ist ungewöhnlich genug, um erwähnenswert zu sein.
Die Portable Edition
Es lohnt sich, dies zu verstehen, da sich dadurch die Einschränkungen ändern. Die Standard Edition installiert einen Treiber, wofür Administratorrechte erforderlich sind. Die Portable Edition ist für Situationen gedacht, in denen die Installation eines Treibers nicht möglich ist oder nicht gewünscht wird.
Wenn Sie an Computern arbeiten, auf denen Sie keine Administratorrechte haben, prüfen Sie vor dem Kauf, welche Edition geeignet ist – sie werden separat lizenziert.
Was Sie überprüfen sollten, bevor Sie sich darauf verlassen
Dass der Datenverkehr tatsächlich durchläuft. Öffnen Sie die Anwendung, lassen Sie sie eine netzwerkbezogene Aktion ausführen und überprüfen Sie im Verbindungsprotokoll von Proxifier, ob die Verbindung dort erscheint. Eine Anwendung, die einen ungewöhnlichen Mechanismus nutzt, kann dennoch durchrutschen, und das Protokoll zeigt Ihnen dies sofort an.
Dass DNS so gehandhabt wird, wie Sie es wünschen. Darauf wird weiter unten in einem eigenen Abschnitt eingegangen – dies ist die Einstellung, die oft übersehen wird.
Dass die Regeln in der richtigen Reihenfolge angeordnet sind. Regelsysteme werden der Reihe nach ausgewertet, und eine weit gefasste Regel ganz oben wird stillschweigend Datenverkehr verschlingen, den eigentlich eine spätere, spezifischere Regel abfangen sollte. Dies ist der häufigste Konfigurationsfehler.
Proxychains und der Fall Linux
Die kostenlose Unix-Lösung mit einem Mechanismus, den es sich zu verstehen lohnt, da er genau erklärt, was nicht funktioniert.
So funktioniert es
proxychains-ng leitet Verbindungen über SOCKS4a-, SOCKS5- oder HTTP-Proxys um. Laut eigener Dokumentation „greift es über eine vorab geladene DLL auf netzwerkbezogene libc-Funktionen in dynamisch gelinkten Programmen zu und leitet die Verbindungen über einen oder mehrere SOCKS-/HTTP-Proxys um“.
Der Mechanismus ist „LD_PRELOAD“. Eine Bibliothek wird vor den normalen Bibliotheken des Programms geladen, und ihre Versionen der Socket-Funktionen werden anstelle der Systemfunktionen verwendet. Das Programm ruft die Funktion auf, die es für die Standardfunktion hält, und proxychains antwortet darauf.
Man führt einen Befehl darüber aus, anstatt es global zu konfigurieren:
proxychains4 curl https://example.com
proxychains4 nmap -sT target
Es steht unter der GPL-2.0-Lizenz und läuft unter Linux, BSD, macOS und Haiku.
Die Einschränkungen, laut eigener Dokumentation
Diese sind vom Projekt dokumentiert und haben weitreichendere Folgen, als es auf den ersten Blick scheint.
Statisch gebundene Binärdateien funktionieren nicht. Die Technik erfordert dynamische Verknüpfung. Ein statisch verknüpftes Programm verfügt über keine Bibliotheken, die vorab geladen werden müssen, und stellt eine direkte Verbindung her – ohne Fehler, ohne Warnung, direkt an Ihrem Proxy vorbei.
Nur TCP. „Es unterstützt nur TCP (kein UDP/ICMP usw.)“. Alles, was UDP verwendet, wird nicht über den Proxy geleitet. Dies betrifft einen Großteil moderner Netzwerkfunktionen und geschieht im Hintergrund.
Python und Perl weisen ein spezifisches Problem auf. In der Dokumentation wird darauf hingewiesen, dass „der glibc-Dynlinker einen Fehler oder eine Sicherheitsfunktion aufweist, die verhindert, dass dlopen()ed-Module denselben dlsym-Hooks unterliegen“, was sich auf Erweiterungsmodule in diesen Sprachen auswirkt. Ein Python-Skript kann seine eigenen Anfragen über den Proxy leiten, während eine von ihm geladene kompilierte Erweiterung dies nicht tut.
Der macOS System Integrity Protection (SIP) blockiert dies für Systemanwendungen unter 10.11 und höher. SIP existiert genau dazu, diese Art von Injektion zu verhindern, und er erfüllt seine Aufgabe.
Skripte und Daemons, die Hintergrundprozesse starten, können fehlschlagen.
Die projektinterne README-Datei rät dazu, das Tool vor dem ernsthaften Einsatz gründlich zu testen – was ungewöhnlich offen ist und wörtlich genommen werden sollte.
Das Muster hinter diesen Einschränkungen
Jede einzelne davon schlägt stillschweigend und offen fehl. Die Verbindung wird nicht blockiert; sie läuft direkt. Ihr Datenverkehr wird von Ihrer echten Adresse gesendet, und nichts weist Sie darauf hin.
Überprüfen Sie dies daher ausdrücklich, anstatt davon auszugehen. Führen Sie Ihren Befehl über „proxychains“ an einem Endpunkt durch, der die Adresse meldet, und vergewissern Sie sich, dass die zurückgegebene Adresse die des Proxys ist – und zwar für jede Anwendung, mit der Sie ihn nutzen möchten – nicht nur einmal, sondern generell.
Proxy-Manager: Rotation und Pooling
Eine andere Aufgabe als die von Interception-Tools, mit denen sie oft verwechselt werden.
Ein Proxy-Manager läuft lokal und präsentiert sich als einzelner Proxy-Endpunkt. Ihre Anwendungen verweisen auf localhost. Dahinter verteilt er Anfragen auf einen Pool von Upstream-Proxys, rotiert diese, führt bei Fehlern erneute Versuche durch und protokolliert die Vorgänge.
Warum sich das lohnt
Die Rotationslogik ist an einer Stelle zusammengefasst. Anstatt dass jedes Skript seine eigene Pool-Verwaltung implementiert, verweisen alle auf einen lokalen Endpunkt, und der Manager trifft die Entscheidung.
Das Failover erfolgt, ohne dass Ihr Code davon etwas mitbekommt. Ein ausgefallener Upstream-Proxy wird an anderer Stelle erneut angefragt.
Sie erhalten Transparenz. Welche Anfragen waren erfolgreich, welche sind fehlgeschlagen, wie lange haben sie gedauert, wie viel Bandbreite wurde wohin verbraucht? Das ist genau das, was die meisten am meisten vermissen, wenn die Rechnung für Proxys unerwartet hoch ausfällt.
Anmeldedaten bleiben in einer einzigen Konfiguration, anstatt in ein Dutzend Skripte kopiert zu werden, was sowohl übersichtlicher als auch sicherer ist.
Die praktische Option
Der Proxy Manager von Bright Data ist Open Source, läuft unter Windows, Linux und macOS und bietet Verbindungspooling, Lastenausgleich, automatische Rotation, Unterstützung für „SOCKS5“, SSL-Analyse, eine Web-Konfigurationsoberfläche sowie Docker-Images.
Er wurde für das Netzwerk von Bright Data entwickelt, unterstützt jedoch externe Proxy-Anbieter über die Option „--ext_proxies“, was bedeutet, dass er problemlos mit Proxys beliebiger Anbieter funktioniert. Wenn Sie unsere Proxys nutzen und einen verwalteten lokalen Endpunkt mit Rotation und Protokollierung wünschen, ist dies die richtige Lösung und kostet nichts.
Wann Sie keinen benötigen
Wenn Sie täglich nur einige hundert Anfragen über ein Skript stellen, ist ein Manager eine Infrastruktur für ein Problem, das noch gar nicht aufgetreten ist. Die Rotation spielt eine Rolle, wenn Ratenbeschränkungen pro Adresse Ihre einschränkende Bedingung sind; die Überwachbarkeit ist wichtig, wenn die Kosten oder die Ausfallrate hoch genug sind, um eine Untersuchung zu rechtfertigen. Unterhalb dieser Schwellenwerte ist ein Proxy-Argument in Ihrem HTTP-Client die einzige Lösung.
Der DNS-Leak, der jede Ebene übersteht
Der häufigste Grund, warum eine korrekt konfigurierte Proxy-Einrichtung nicht das tut, was ihr Besitzer erwartet.
Das Problem
Bevor Ihr Rechner eine Verbindung zu example.com
herstellen kann, muss etwas diesen Namen in eine Adresse umwandeln. Wenn diese Abfrage lokal erfolgt, erfährt Ihr DNS-Resolver – in der Regel Ihr Internetanbieter oder der Administrator Ihres Netzwerks – jeden Hostnamen, den Sie besuchen, auch wenn der Datenverkehr selbst über den Proxy läuft.
Sie haben die Verbindung umgeleitet und das Ziel bekannt gegeben.
Wo sich das bemerkbar macht
In curl und allen Anwendungen, die SOCKS verwenden. Der Unterschied liegt im Schema. Bei socks5://
löst curl den Namen lokal auf, bevor eine Verbindung zum Proxy hergestellt wird. Bei socks5h://
wird der Hostname an den Proxy gesendet und dort aufgelöst. Ein Zeichen.
curl -x socks5://proxy.example.com:1080 https://example.com # leaks the lookup
curl -x socks5h://proxy.example.com:1080 https://example.com # does not
In Proxy-Client-Software. Proxifier verfügt über eine explizite Einstellung für die DNS-Verarbeitung über den Proxy. Diese ist nicht immer standardmäßig aktiviert und kann leicht übersehen werden.
In Proxychains. Die Konfigurationsdatei steuert die DNS-Verarbeitung, und die richtige Einstellung hängt von Ihrer Version und dem Proxy-Typ ab.
In Browsern. Einige führen die Auflösung lokal durch, selbst wenn ein SOCKS-Proxy konfiguriert ist, sofern keine bestimmte Einstellung geändert wird.
Warum dies über den Datenschutz hinaus wichtig ist
Hier geht es nicht nur um das Problem der Datenweitergabe. Ein lokal aufgelöster Hostname kann Ihnen eine völlig falsche Adresse liefern. Websites, die regional unterschiedliche Infrastrukturen nutzen, werden je nach Standort unterschiedlich aufgelöst. Wenn Sie über Deutschland proxen, die Auflösung jedoch aus Großbritannien erfolgt, stellen Sie möglicherweise von einer deutschen Adresse aus eine Verbindung zum britischen Endpunkt her – eine Kombination, die sowohl für Ihren Zweck falsch als auch ungewöhnlich genug ist, um aufzufallen.
Dies ist eine häufige und wirklich verwirrende Ursache dafür, dass geografische Tests Ergebnisse liefern, die nicht der Realität entsprechen.
Die Überprüfung
Unabhängig davon, welche Ebene Sie verwenden, führen Sie einen DNS-Lecktest darüber durch und vergewissern Sie sich, dass der gemeldete Resolver zum Netzwerk des Proxys gehört und nicht zu Ihrem eigenen. Das dauert dreißig Sekunden und ist die wichtigste Überprüfung in diesem gesamten Artikel.
Wann Sie keinen Proxy-Client benötigen
Entgegen unserem Interesse und entgegen dem Thema dieses Artikels, das in diesem Fall für die meisten Leser relevant ist.
Sie schreiben den Code. Übergeben Sie den Proxy an Ihre HTTP-Bibliothek. Es muss nichts installiert werden, es gibt keine Sicherheitslücken, keine Lizenz, und jeder, der den Code später liest, kann ihn einsehen.
Ihre Anwendung verfügt über eine Proxy-Einstellung. Nutzen Sie diese. Wenn Sie zusätzlich eine Abhörschicht einfügen, entstehen zwei Stellen, an denen die Konfiguration fehlerhaft sein kann.
Sie legen Wert auf Datenschutz. Nutzen Sie ein seriöses VPN oder den Tor-Browser. Ein Proxy-Client verschlüsselt Ihren Datenverkehr nicht und verbirgt nichts vor dem Proxy-Betreiber.
Du möchtest eine Website im Browser entsperren. Eine Browser-Erweiterung oder die eigenen Einstellungen des Browsers erledigen das. Die Installation eines Systemtreibers dafür ist unverhältnismäßig.
Sie stellen nur eine Handvoll Anfragen. Ratenbegrenzungen und Erkennung reagieren auf Volumen und Muster. Fünfzig Anfragen pro Tag erfordern keine Infrastruktur.
Die Anwendung berücksichtigt die Proxy-Einstellung des Systems. Prüfen Sie dies zunächst – es dauert nur eine Minute und könnte das Projekt beenden.
Sie laufen auf einem Server und kontrollieren die Umgebung. Umgebungsvariablen, Netzwerkkonfiguration auf Containerebene oder eine ordnungsgemäß konfigurierte Route sind sauberer als eine Injektionsschicht und fallen nicht auf die oben beschriebene Weise stillschweigend aus.
Wenn Sie es wirklich tun
Eine Anwendung ohne Proxy-Unterstützung, die zudem die Systemeinstellung ignoriert. Der einzige legitime Grund, warum diese Kategorie existiert.
Anwendungsspezifische Routing-Regeln. Unterschiedliche Ziele für verschiedene Programme auf einem Rechner.
Rotation und Überwachbarkeit über einen Pool aus vielen Upstream-Proxys hinweg, bei hohem Datenaufkommen.
Ein Befehlszeilentool unter Unix, das keine Proxy-Option bietet – „proxychains“, wobei man sich dessen dokumentierte Einschränkungen stets bewusst sein muss.
Abgesehen davon ist die einfachere Ebene die bessere Lösung, und sie ist kostenlos.
Häufig gestellte Fragen
Was ist eine Proxy-Client-Software?
Software, die den Netzwerkverkehr einer anderen Anwendung über einen Proxy leitet, in der Regel indem sie Verbindungen unterhalb der Ebene abfängt, auf der die Anwendung entscheidet, wie die Verbindung hergestellt wird. Ihr Zweck besteht darin, Anwendungen zu proxyen, die keine eigene Proxy-Einstellung bieten.
Brauche ich einen Proxy-Client?
Normalerweise nicht. Wenn Sie Code schreiben, übergeben Sie den Proxy an Ihre HTTP-Bibliothek. Wenn Ihre Anwendung über eine Proxy-Einstellung verfügt, nutzen Sie diese. Ein Proxy-Client ist für den speziellen Fall gedacht, dass eine Anwendung keine Proxy-Unterstützung bietet und zudem die systemweite Einstellung ignoriert.
Was ist der beste Proxy-Client für Windows?
Proxifier ist die etablierte kommerzielle Option und kostet 39,95 US-Dollar für eine unbefristete Lizenz mit anwendungsspezifischen Routing-Regeln. Für das Pooling und die Rotation anstelle des Abfangens läuft der Open-Source-Proxy-Manager von Bright Data unter Windows und funktioniert mit externen Proxy-Anbietern.
Gibt es einen kostenlosen Proxy-Client für Linux?
proxychains-ng, lizenziert unter GPL-2.0. Es bindet sich über „LD_PRELOAD“ in die Netzwerkfunktionen der libc ein. Beachten Sie die dokumentierten Einschränkungen: nur TCP, keine statischen Binärdateien, Komplikationen mit Python- und Perl-Erweiterungsmodulen sowie die „System Integrity Protection“ von macOS, die den Einsatz für Systemanwendungen blockiert.
Warum läuft mein Datenverkehr nicht über den Proxy?
Meistens ignoriert die Anwendung die Proxy-Einstellung des Systems und nutzt ihre eigene Netzwerkverbindung. Speziell bei proxychains umgehen statisch verknüpfte Binärdateien oder UDP-Datenverkehr den Proxy vollständig und unbemerkt. Überprüfen Sie dies anhand eines Endpunkts zur Adressausgabe, anstatt einfach davon auszugehen.
Was ist ein DNS-Leck und wie kann ich es verhindern?
Ihr Datenverkehr läuft zwar über den Proxy, die Hostnamen-Auflösung erfolgt jedoch lokal, sodass Ihr eigener Resolver jede von Ihnen besuchte Website sieht. Beheben Sie das Problem, indem Sie den Proxy die Namen auflösen lassen: Verwenden Sie in curl socks5h:// anstelle von socks5://, aktivieren Sie die entsprechende Option in Proxifier oder Proxychains und testen Sie dies mit einem DNS-Leak-Checker.
Verschlüsselt ein Proxy-Client meinen Datenverkehr?
Nein. Ein Proxy leitet Verbindungen weiter; er fügt keine Verschlüsselung hinzu. HTTPS schützt zwar weiterhin die Inhalte zwischen dir und dem Ziel, aber der Proxy-Betreiber kann sehen, mit welchen Hosts du dich verbindest. Wenn du eine Verschlüsselung von deinem Gerät nach außen benötigst, bietet ein VPN genau das.
Proxifier oder proxychains?
Unterschiedliche Plattformen und unterschiedliche Mechanismen. Proxifier läuft unter Windows und macOS, nutzt einen Treiber, verfügt über einen grafischen Regeleditor und kostet 39,95 $. proxychains läuft unter Unix, nutzt das Vorladen von Bibliotheken, ist kostenlos und weist dokumentierte Lücken auf, die ohne Fehlermeldung auftreten. Keines der beiden Programme ist besser; sie eignen sich für unterschiedliche Systeme.
Fazit
Proxy-Client-Software hat einen enger gefassten Anwendungsbereich, als der Name der Kategorie vermuten lässt, und das Wichtigste, was Sie vor der Auswahl einer solchen Software tun können, ist festzustellen, auf welcher Ebene Ihr Problem tatsächlich liegt.
Arbeiten Sie sich durch die Ebenen nach unten und halten Sie bei der ersten an, die funktioniert. Zuerst im Code, dann in der Anwendung, dann systemweit, dann bei der Interception. Jeder Schritt erweitert die Funktionen und erhöht gleichzeitig das Fehlerpotenzial, wobei die meisten Anforderungen bereits in den ersten beiden Ebenen erfüllt werden – kostenlos und ohne Installation.
Wenn Sie tatsächlich die Interception-Ebene erreichen, hängt die Wahl weitgehend von der Plattform ab. Proxifier unter Windows und macOS für 39,95 $ als unbefristete Lizenz, mit anwendungsspezifischen Regeln, die keine integrierte Einstellung abbilden kann. proxychains-ng unter Unix, kostenlos und unter GPL-2.0, mit Einschränkungen, die man sich merken sollte: nur TCP, keine statischen Binärdateien, Probleme mit Python- und Perl-Erweiterungen sowie Blockierung durch den System Integrity Protection auf modernen macOS-Systemen.
Das Muster dieser Einschränkungen ist wichtiger als die Liste selbst. Sie alle versagen offen und stillschweigend – die Verbindung wird nicht abgelehnt, sie läuft einfach direkt über Ihre echte Adresse, und nichts weist Sie darauf hin. Überprüfen Sie dies mit einem Endpunkt zur Adressausgabe für jede Anwendung, die Sie umleiten möchten, anstatt die Konfiguration einmalig vorzunehmen und ihr dann zu vertrauen.
Prüfen Sie anschließend das DNS. Datenverkehr über den Proxy, während Lookups an Ihren lokalen Resolver gehen, ist die häufigste halbwegs funktionierende Konfiguration in diesem Bereich, und sie stellt sowohl ein Problem der Offenlegung als auch der Korrektheit dar – ein lokal aufgelöster Hostname kann Ihnen eine regional falsche Adresse liefern. socks5h:// statt socks5://, die in Ihrem verwendeten Tool aktivierte DNS-Option und dreißig Sekunden mit einem Leak-Test.
Und wenn Sie einen Proxy-Pool betreiben, übernimmt der Open-Source-Proxy-Manager von Bright Data die Rotation, das Failover und die Protokollierung, läuft auf allen drei Plattformen und funktioniert mit externen Anbietern. Es handelt sich um ein Tool eines Mitbewerbers, und es ist die beste kostenlose Lösung für dieses Problem – was es wert schien, klar und deutlich gesagt zu werden.