realfp.com

Was ist ein User-Agent?

Wenn es um Browser-Fingerprinting geht, wird oft zuerst der User-Agent erwähnt. Es handelt sich um einen HTTP-Header, den der Browser an den Webserver sendet und der Informationen wie Browsertyp, Version, Betriebssystem usw. enthält.

Was ist ein HTTP-Header?
Wenn Sie eine URL in Ihren Browser eingeben und die Eingabetaste drücken, sendet der Browser eine Anfrage an den Server, um den Inhalt der Webseite abzurufen. Diese Anfrage enthält zusätzliche Informationen – diese Informationen sind die HTTP-Header.

Sie können sich HTTP-Header wie die Speisekarte vorstellen, die Sie einem Kellner in einem Restaurant geben. Sie setzen sich, füllen Ihre Wünsche aus und geben sie ab, damit die Küche weiß, was Sie möchten. Ebenso teilen HTTP-Header dem Server mit, was Ihr Browser anfordert und welche speziellen Anforderungen er hat.

HTTP-Header enthalten verschiedene Informationen, zum Beispiel:
User-Agent —— Das ist so, als würden Sie dem Kellner Ihren Namen sagen, damit er weiß, wer bestellt. Er teilt dem Server mit, welchen Browser und welches Betriebssystem Sie verwenden.
Accept —— Das ist so, als würden Sie auf der Speisekarte angeben, welche Arten von Speisen Sie akzeptieren (z. B. chinesisch, westlich oder vegetarisch). Er teilt dem Server mit, welche Antwortformate Ihr Browser akzeptieren kann, z. B. HTML-Webseiten, Bilder oder Videos.
Referer —— Das ist so, als würden Sie dem Kellner sagen, dass Sie auf Empfehlung eines Freundes in dieses Restaurant gekommen sind. Er teilt dem Server mit, von welcher Webseite Sie gekommen sind.
Cookie —— Das ist so, als würden Sie spezielle Wünsche auf die Speisekarte schreiben, wie „nicht scharf“ oder „wenig Salz“. Cookies sind kleine Textdateien, die im Browser gespeichert werden und Informationen über Ihren Besuch auf der Website enthalten.

Der Zweck von HTTP-Headern ist einfach: Sie helfen dem Server, Ihre Anfrage zu verstehen und den am besten geeigneten Inhalt zurückzugeben – genau wie die Speisekarte dem Kellner sagt, was Sie essen möchten.

Woraus besteht ein User-Agent?
Ein User-Agent-String besteht aus mehreren Teilen, von denen jeder spezifische Informationen enthält – vom Browsertyp bis zur Betriebssystemversion. Lassen Sie uns dies anhand einiger Beispiele aufschlüsseln:

Beispiel 1 (Chrome unter Windows):
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36

Beispiel 2 (Firefox unter Windows):
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0

Beispiel 3 (Safari unter macOS):
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15

Die Bedeutung der einzelnen Teile ist wie folgt:
Mozilla/5.0 —— Ein allgemeiner Bezeichner, der angibt, dass der User-Agent der Mozilla-Spezifikation in Version 5.0 folgt.
Betriebssysteminformationen —— Detaillierte Informationen und Version des Betriebssystems des Benutzers. Dies ist für Entwickler wichtig, da verschiedene Betriebssysteme unterschiedliche Funktionen oder Einschränkungen haben können. Zum Beispiel bedeutet (Windows NT 10.0; Win64; x64) ein 64-Bit-System von Windows 10.
Informationen zur Rendering-Engine —— Die Kernkomponente, die der Browser zum Rendern von Webseiten verwendet. Das Wissen über die Rendering-Engine hilft Entwicklern, Websites für bestimmte Browser zu optimieren. Zum Beispiel bedeutet AppleWebKit/537.36, dass die WebKit-Engine von Apple verwendet wird.
Informationen zum Kompatibilitätsmodus —— Gibt an, ob der Browser in einem bestimmten Kompatibilitätsmodus ausgeführt wird, und hilft Entwicklern sicherzustellen, dass die Website an verschiedene Browsermodi angepasst werden kann. (KHTML, like Gecko) bedeutet, dass der Browser beim Verarbeiten der Seite eine Rendering-Engine verwendet, die KHTML und Gecko ähnelt.
Anwendungsinformationen —— Der spezifische Name und die Versionsnummer des Browsers. Zum Beispiel bedeutet Chrome/94.0.4606.81, dass der Benutzer die Chrome-Version 94.0.4606.81 verwendet.

Sind die User-Agents aller Browser gleich?
Nicht ganz. Obwohl die User-Agents von gängigen Browsern wie Chrome, Firefox, Safari und Edge alle Informationen wie Betriebssystem, Browsertyp, Version und Rendering-Engine enthalten, gibt es dennoch feine Unterschiede zwischen ihnen.

Vergleichen wir:

Es ist ersichtlich, dass es neben dem allgemeinen Bezeichner deutliche Unterschiede zwischen den User-Agents der verschiedenen Browser gibt.

Warum gibt es zwei User-Agents?
Wenn Sie Tools wie realfp verwenden, um den User-Agent-Fingerabdruck Ihres Browsers zu überprüfen, stellen Sie möglicherweise fest, dass zwei verschiedene User-Agents angezeigt werden. Warum ist das so?

Tatsächlich gibt es zwei Möglichkeiten, den User-Agent eines Benutzers abzurufen:
Über eine HTTP-Anfrage abrufen —— Dies geschieht auf der Serverseite, wo der Server das User-Agent-Feld im HTTP-Header analysiert.
Über JavaScript abrufen —— Dies geschieht auf der Clientseite (im Browser des Benutzers) unter Verwendung von JavaScript-Funktionen wie window.navigator.userAgent, ohne auf eine serverseitige HTTP-Anfrage angewiesen zu sein.

Ein Beispiel: Angenommen, Sie haben einen Computer ohne Internetverbindung, sodass der Browser keine Anfragen an Websites senden kann. Sie möchten aber trotzdem den User-Agent dieses Browsers wissen – Sie können Chrome öffnen, F12 drücken, um die Entwicklertools zu öffnen, auf den Tab „Konsole“ klicken und in der Konsole window.navigator.userAgent eingeben, um den User-Agent des Browsers direkt anzuzeigen.

Wenn Sie häufig Skripte zum Crawlen von Website-Inhalten schreiben, ist es sehr wichtig sicherzustellen, dass diese beiden User-Agents konsistent geändert werden. Sie sollten immer Tools wie realfp verwenden, um zu überprüfen, ob der geänderte User-Agent einem realen Szenario entspricht.

Wofür ist der User-Agent nützlich?
In der heutigen digitalen Umgebung hat der User-Agent eine breite Palette praktischer Anwendungen:
Analyse des Website-Traffics —— Analysetools verwenden User-Agent-Daten, um den Browser, das Betriebssystem und den Gerätetyp der Besucher zu verfolgen und helfen Website-Betreibern, ihr Publikum zu verstehen und die Benutzererfahrung zu optimieren.
Website-Kompatibilität —— Entwickler analysieren User-Agent-Informationen, um sicherzustellen, dass die Website auf verschiedenen Browsern und Geräten ordnungsgemäß funktioniert.
Erkennung bösartiger Aktivitäten —— Sicherheitsteams und Administratoren verwenden User-Agent-Daten, um verdächtige oder anomale Aktivitäten zu erkennen, da bestimmte User-Agent-Strings auf Angriffe oder missbräuchliches Verhalten hindeuten können.
Gezielte Werbung —— Marketingteams nutzen User-Agent-Daten, um Werbung gezielter zu schalten, da Benutzer auf verschiedenen Geräten und Browsern unterschiedlich auf Werbeformate reagieren können.
Datenanalyse und Marktforschung —— Forscher und Analysten nutzen User-Agent-Daten, um das Verhalten von Benutzern auf verschiedenen Browsern und Geräten zu verstehen und so Einblicke in Benutzerpräferenzen und Trends zu gewinnen.

Verwaltung mehrerer Konten
Aus der vorangegangenen Diskussion geht hervor, dass Websites über den User-Agent eine große Menge an Informationen über das Gerät und die Surfgewohnheiten des Benutzers erhalten können, darunter:
·Browsertyp und -version
·Betriebssystem (Windows, macOS, Android usw.)
·Gerätetyp (Computer oder Mobiltelefon)

Wenn Sie mehrere Konten verwalten, müssen Sie sicherstellen, dass sich die Informationsmerkmale zwischen den einzelnen Konten unterscheiden. Andernfalls könnte die Website diese Informationen verwenden, um Ihre mehreren Konten miteinander zu verknüpfen.

Die Verwendung von Browser-Erweiterungen zur Änderung des User-Agents ist keine effektive Methode, um Ihren Browser zu verschleiern, und diese Schutzmaßnahme ist nicht sicher. Insbesondere wenn der User-Agent-Fingerabdruck mit anderen Fingerabdruckinformationen kombiniert wird, muss er mit den Merkmalen des realen Geräts übereinstimmen.

Im Gegensatz dazu können Fingerabdruck-Browser Fingerabdrücke generieren, die mit den Merkmalen realer Geräte übereinstimmen, und ermöglichen es Ihnen, jedes Konto in einer unabhängigen, isolierten Umgebung auszuführen. Dies schützt nicht nur Ihre Privatsphäre, sondern gewährleistet auch die Sicherheit Ihrer Konten.