• Home
  • /
  • Tracking im Internet Wireshark
Konrad Sarodnick
veröffentlicht am: 28. Januar 2021

letztes Update:      2. August 2021


Die Datenspur im Internet - 2/4


Im ersten Teil der Reihe haben wir betrachtet, wie man mit Hilfe von vorhandenen Browsererweiterungen das Tracking betrachten kann. 

In diesem Teil betrachten wir das Tracking mit Hilfe des Programms Wireshark. Wireshark ist der am weitesten verbreitete Netzwerkprotokollanalysator. Er zeigt Ihnen, was in Ihrem Netzwerk auf mikroskopischer Ebene geschieht. 

Um zu verstehen, wie Wireshark arbeitet, muss man wissen, wie die Kommunikation im Internet prinzipiell funktioniert.

Die Internet-Kommunikation lässt sich in mehrere Schichten unterteilt und kann mit Hilfe von Referenzmodellen beschrieben werden. Ein Referenzmodell ist das TCP/IP-Referenzmodell.

Dieses Modell hat vier Schichten: Anwendung, Transport, Internet, Netzwerk. Wenn Nachrichten verschickt werden sollen, müssen sie zuerst in der Anwendungsschicht in eine einheitliche Form gebracht werden, damit der Empfänger die Nachricht auch verarbeiten kann. Dies wird mit entsprechenden Protokollen wie HTTP für Browser-Kommunikation oder SMTP für E-Mails erreicht. Diese Nachrichten werden gegebenenfalls noch durch ein Verschlüsselungsprotokoll wie beispielsweise TLS verschlüsselt. Da für die Verschlüsselung ein Schlüsselaustausch notwendig ist, werden Sitzungen verwendet, damit nicht jedes Mal der Schlüssel ausgetauscht werden muss. Diese Sitzungen müssen identifizierbar sein und können dadurch auch für Tracking verwendet werden.

In der Transportschicht wird definiert, mit welchem Protokoll die Daten verschickt werden sollen. Hier sind das TCP-Protokoll und das UDP-Protokoll am weitesten verbreitet. Die Nachricht der Anwendungsschicht mit einer Kopfzeile versehen. Diese Kopfzeile enthält unter anderem einen Sender- und Empfänger-Port, damit die Nachricht beim Entpacken an die richtige Anwendung geschickt wird.

Danach bekommt das Paket eine weitere Kopfzeile. Diese Kopfzeile enthält die Sender- und Empfänger-IP-Adresse sowie das verwendete Transportprotokoll. Dem Browser ist die Empfänger-IP-Adresse in der Regel nicht bekannt. Deshalb muss vorher mit Hilfe einer DNS-Anfrage die IP-Adresse bei einem DNS-Server erfragt werden.

Nachdem definiert ist, an welche IP-Adresse das Packet gesendet werden soll, muss es über das Netzwerk verschickt werden. Dafür wird eine weitere Kopfzeile mit der Sender- und Empfänger-MAC-Adresse und IP-Typ (z. B. IPv4 oder IPv6) angehangen. In der Netzwerkschicht gehört die Empfänger-MAC-Adresse nicht unbedingt dem finalen Empfänger, sondern kann auch zu der nächsten Zwischenstation z.b. einem Router gehören. Wenn die Nachricht beim Empfänger angekommen ist, muss sie entpackt werden. Dabei beschreiben die Demux-Schlüssel – wie IP-Typ, Transportprotokoll oder Port – welches Protokoll in der jeweils über ihnen liegende Schicht verwendet wurde. Dadurch kann die Nachricht Schicht für Schicht ausgepackt und korrekt verarbeitet werden.

Mit Wireshark lässt sich diese gesamte Kommunikation beobachten. Allerdings lassen sich die einzelnen Pakete schwer einer bestimmten Anwendung zuordnen. Die DNS-Anfragen werden meist von Browsern getätigt, wodurch sich die Kommunikation des Browsers zumindest in Teilen nachvollziehen lässt. 

Und nun ein praktisches Beispiel:

Beim Start des Google Chrome Browsers wird als erstes nach accounts.google.com gefragt, da ich mit einem Google-Account im Browser eingeloggt bin. Es wird auch nach weiteren Google-Diensten gefragt: clientservices.googleapis.com und clients4.google.com. Natürlich wird auch die Startseite google.com inklusive der Fonts (fonts.gsstatic.com) geladen. Um zu überprüfen, welche Anfragen durch meine Konfiguration entstehen und welche Anfragen der Chrome Browser standardmäßig sendet, habe ich mir auch die DNS-Anfragen von einer frischen Chrome-Installation angesehen. Auch hier werden verschiedene Google-Dienste angefragt: account.google.comfonts.googleapis.comogs.google.comclientservices.googleapis.com und update.googleapis.com.

Fazit: Google Chrome sendet also unabhängig von der Konfiguration beim Start verschiedene Daten an die Google-Dienste.


Dies ist Teil 2 der 4-teiligen Betrachtung "Datenspur im Internet"

Autor

Konrad Sarodnick

Konrad Sarodnick ist Masterstudent der Wirtschaftsinformatik. Das Studium verbindet auf ideale Weise Informatik mit wirtschaftlichen Aspekten. Seine Leidenschaft sind die Zukunftsfelder Machine Learning, Big Data und neuronale Netze.