Ich habe große Verkehrsdateien, die ich statistisch analysieren möchte, um zu überprüfen, ob ein Benutzer auf Links auf bestimmten Websites klickt.
Es ist wichtig zu sagen, dass meine Pakete nach Flüssen sortiert sind (IP1 <=> IP2).
Meine erste Idee war, den Paketinhalt zu durchsuchen und nach hrefs und Links zu suchen, sie alle mit ihren Zeitstempeln in einer Art Datenstruktur zu speichern und dann die Pakete erneut zu durchlaufen, um kurz vor dem Erscheinen der Links nach Anfragen zu suchen .
So etwas wie im folgenden Pseudocode:
for each packet in each flow:
search for "href" or "http://" or "https://"
save the links with their timestamp
for each packet in each flow:
if it's an http request and its url matches some url in the list and the
time is close enough, record it
Das Problem mit diesem Code ist, dass einige (wichtige) Links dynamisch generiert werden, während die Seite geladen wird, und mit der obigen Methode nicht gefunden werden können.
Eine andere Idee war, das Referrer-Feld im HTTP-Header zu überprüfen und nach Paketen zu suchen, auf die von den relevanten Sites verwiesen wurde. Diese Methode generiert aufgrund von Frames und eingebetteten Objekten viele False Positives.
Es ist wichtig zu erwähnen, dass dies nicht mein Server ist und ich beabsichtige, ein Tool zur statistischen Analyse des Nutzerverhaltens zu erstellen (daher kann ich meiner Site keinen Klick-Tracker hinzufügen).
Hat jemand eine Idee, was ich tun kann, um zu überprüfen, ob die Benutzer entsprechend ihres Netzwerkverkehrs auf Links geklickt haben?
Jede Hilfe wird geschätzt!
Danke