Ein
Proxy (von
engl. proxy representative ‚Stellvertreter‘, von
lat. proximus ‚der Nächste‘) ist eine
Kommunikationsschnittstelle in einem
Netzwerk. Er arbeitet als Vermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zur anderen Seite herzustellen.
Wird der
Proxy als Netzwerkkomponente eingesetzt, bleibt einerseits die wahre Adresse des einen Kommunikationspartners dem anderen Kommunikationspartner gegenüber komplett verborgen, was eine gewisse Anonymität schafft. Als (mögliches) Verbindungsglied zwischen unterschiedlichen Netzwerken realisiert er andererseits eine Verbindung zwischen den Kommunikationspartnern selbst dann, wenn deren Adressen zueinander inkompatibel sind und eine direkte Verbindung nicht möglich wäre.
Im Unterschied zu einer einfachen Adressumsetzung (
NAT) ist ein
Proxy-Server, auch
Dedicated Proxy genannt, dabei in der Lage, die Kommunikation selbst zu führen und zu beeinflussen, statt die Pakete ungesehen durchzureichen. Auf ein bestimmtes Kommunikationsprotokoll spezialisiert, wie z. B.
HTTP oder
FTP, kann er die Daten zusammenhängend analysieren, Anfragen filtern und bei Bedarf beliebige Anpassungen vornehmen, aber auch entscheiden, ob und in welcher Form die Antwort des Ziels an den tatsächlichen
Client weitergereicht wird. Mitunter dient er dazu, bestimmte Antworten zwischenzuspeichern, damit sie bei wiederkehrenden Anfragen schneller abrufbar sind, ohne sie erneut vom Ziel anfordern zu müssen. Auf einem einzigen Gerät kommen oft mehrere
Dedicated Proxys parallel zum Einsatz, um unterschiedliche Protokolle bedienen zu können.
Ein
Generischer Proxy, auch
Circuit Level Proxy genannt, findet als protokollunabhängiger Filter auf einer
Firewall Anwendung. Er realisiert dort ein port- und adressbasiertes Filtermodul, welches zudem eine (mögliche) Authentifizierung für den Verbindungsaufbau unterstützt. Daneben kann er für eine einfache Weiterleitung genutzt werden, indem er auf einem
Port eines
Netzwerkadapters lauscht und die Daten auf einen anderen Netzwerkadapter und Port weitergibt. Dabei ist er nicht in der Lage, die Kommunikation einzusehen, sie selbst zu führen und zu beeinflussen, da er das Kommunikationsprotokoll nicht kennt.