Interpretation des leeren User-Agenten

12

Wie soll ich einen leeren User-Agent interpretieren? Ich habe einen benutzerdefinierten Analysecode und dieser Code muss nur den Datenverkehr von Personen analysieren. Ich habe eine Arbeitsliste mit Benutzeragenten, die den menschlichen Verkehr und den Bot-Verkehr anzeigen, aber der leere Benutzeragent erweist sich als problematisch. Und ich bekomme mit dem leeren User-Agent viel Verkehr, ungefähr 10%.

Zusätzlich habe ich die Liste der Benutzeragenten für den menschlichen Verkehr im Vergleich zum Bot-Verkehr erstellt, indem ich meine aktuellen Protokolle analysiert habe. Daher fehlen mir möglicherweise viele Einträge. Gibt es eine gut gepflegte Liste von Benutzeragenten, die Bot-Verkehr bezeichnen, oder umgekehrt eine Liste von Benutzeragenten, die menschlichen Verkehr bezeichnen?

Amit Agrawal
quelle
1
Die Liste der möglichen Benutzeragenten ist unglaublich lang. Schauen Sie sich zum Beispiel die Liste der User-Agents an, die nur für Mobilgeräte bestimmt sind: zytrax.com/tech/web/mobile_ids.html
Max Vernon
Ein leerer User-Agent ist ziemlich selten - welche Serversoftware verwenden Sie? Wie bekommen Sie den User-Agent? Sind Sie sicher, dass es wirklich leer ist, oder gibt es einen Fehler in Ihrem Erfassungssystem, der leere Benutzeragenten erstellt?
Max Vernon
@Max - Ich bin selbst überrascht über den leeren User Agent. Ich benutze LAMP Stack. Ich sammle den User Agent über PHP als $ _SERVER ['HTTP_USER_AGENT']. Der Code ist einfach; Obwohl ich die Möglichkeit eines Benutzeragenten nicht gänzlich ausschließen kann, aber mein Code es nicht sammelt oder die Datenbank sich weigert, ihn zu speichern, bezweifle ich, dass dies der Fall ist.
1
Wenn Sie Zugriff auf die Zugriffsprotokolle von Apache haben: Sind die angemeldeten Benutzeragenten auch leer?
Vielleicht haben Sie einen Scraper, der auf Ihre Site zugreift? Das könnte eine Möglichkeit sein, dass Besucher scheinbar keinen USER_AGENT haben
Max Vernon

Antworten:

5

Wenn Sie nur "menschlichen Verkehr" analysieren möchten, würde ich diejenigen mit leerem oder fehlendem Benutzeragenten-String nicht zählen. Nach meiner Erfahrung sendet fast jeder Browser immer einen. Sogar die meisten Datenschutz-Plugins oder -Erweiterungen sind eher gefälscht (einschließlich anderer Betriebssystem- oder Client-Namen) oder "normalisieren" (z. B. keine Versionsnummern) oder randomisieren (z. B. manchmal FF, manchmal IE-Zeichenfolgen) die UA-Zeichenfolgen, entfernen sie jedoch nicht vollständig (wie dies möglicherweise der Fall ist) Probleme mit einigen Sites verursachen, die darauf angewiesen sind, auch wenn dies keine gute Idee ist.)

Eine einfache Anfrage ohne UA kann folgendermaßen erfolgen:

wget --user-agent="" www.example.com

Wie Sie sehen, können Sie alles hinzufügen, was Sie wollen. Websites, auf denen UAs gespeichert und veröffentlicht werden, die "in the wild" gefunden wurden, sind nicht besonders nützlich, da sie viel Mist finden.

Vielleicht hat jemand Ihre Inhalte nur rekursiv abgerufen. Oder verwenden Sie ein SEO-Tool, um Ihre Website zu analysieren (einige erlauben es Benutzern, den Header manuell zu ändern, andere mit der Absicht, eine robots.txt-Zeile zu ignorieren). Sachen wie diese. In solchen Situationen wird der UA-Header oft gefälscht, um Client und Zweck zu verbergen.

Wenn diese Anforderungen ständig bestehen bleiben, kann es hilfreich sein, die Header (Proxies?) Oder die IPs (ein bestimmter Block? Datenschutz betreffendes Unternehmen / Proxy?) Weiter zu analysieren.

initial
quelle
2

Ich arbeite für ein Sicherheitsunternehmen und wir überwachen unter anderem den Bad Bot-Verkehr.

Nach meiner Erfahrung weisen menschliche Besuche mit leeren Benutzeragentendaten auf Scraping- / Spam-Versuche (normalerweise Scraping-Versuche) hin, die von "headless browser" -Bots durchgeführt wurden.

Diese Besucher können manchmal JS ausführen, und so werden sie in GA angezeigt - dennoch macht diese Dosis sie nicht menschlich :)

Entschuldigen Sie den "Plug", aber bitte beachten Sie, dass wir bei Bedarf kostenlose Schutzdienste für Bad Bot anbieten - zusammen mit CDN-Beschleunigung und anderen Extras.

In diesem speziellen Fall würde unser System diesen Besuch als "verdächtig" erkennen, ihn anhand bekannter Angriffsmethoden verifizieren und - falls immer noch unsicher - weitere Tests und Herausforderungen durchführen. Diese Herausforderungen werden nahtlos ausgeführt, ohne dass die Sitzung verzögert wird.

Igal Zeifman
quelle
0

Jede Software, die auf das Internet zugreift, wird nicht auf magische Weise einem Benutzeragenten zugewiesen. Softwareentwickler müssen diese Funktionalität in ihre Software programmieren. Ihr leerer Benutzeragent bedeutet nur, dass ein Softwareentwickler vergessen hat, einen Benutzeragenten zu seiner Software hinzuzufügen.


quelle
Oder dass ein Browser-Benutzer die UA-Zeichenfolge entfernt / blockiert hat.
oder
5
Das ist falsch. Zu sagen, dass es "nur bedeutet", bedeutet, dass es normalerweise oder zumindest oft der Grund ist. Nur wenige Leute verwenden http-Software, deren Entwickler die UA aus Faulheit heraus übersprungen hätte. Wenn überhaupt, weist dies fast immer darauf hin, dass die Datenverkehrsquelle nicht identifiziert werden wollte und in hohem Maße mit böswilligem oder ausbeuterischem Datenverkehr in Verbindung gebracht wird. Leider haben einige große Unternehmen (Facebook) in der Vergangenheit leere User-Agent-Zeichenfolgen verwendet. Daher ist es nicht unbedingt ratsam, diese vollständig zu blockieren.
Jerclarke
1
@jeremyclarke +1 Diese Art von Verhalten sollte niemals übersehen werden! Und schade auf Facebook! Wenn ein legitimer Bot oder Browser eine Site betrachten muss, sollte er immer eine Kennung haben. Schließlich betreten sie das Eigentum eines anderen. Kein User-Agent zu haben ist wie ein Einbrecher, der sich mit einer Maske einschleicht, um seine Identität zu verschleiern.
Whitebeard
2
Es ist, als würde jemand mit bedecktem Gesicht über den Bürgersteig vor Ihrem Haus hin und her gehen. Nicht unbedingt illegal, aber wenn Sie die Tür nicht öffnen, sollten sie nicht davon ausgehen, dass Sie eine paranoide Nuss sind.
Jerclarke
0

In den Antworten auf diese Frage werden einige Kommentare angezeigt, in denen der User-Agent mit dem Verbergen Ihrer Identität oder dem menschlichen Sein verglichen wird. Dies ist ein absurder Vergleich. User-Agent hat nichts mit Identität oder Menschlichkeit zu tun.

Stellen Sie es sich wie Schuhe vor. Sie fragen Ihre Besucher, welche Art von Schuhen sie tragen, bevor Sie sie hereinlassen. Der häufigste Verwendungszweck besteht darin, zu wissen, welche Art von Teppich Sie ausrollen müssen, den schönen roten Teppich für saubere Abendschuhe, die hässliche Fußmatte für Schlamm Stiefel und kein Teppich für die Besucher, die allergische Teppiche sind.

Wenn die Besucher nicht sagen möchten, welche Schuhe sie haben (auch bekannt als leerer User-Agent), ignorieren Sie sie.

Ja, es gibt viele bewährte Methoden, die versuchen, Dinge über die Webanforderung basierend auf dem Benutzeragenten und anderen Informationen zum Anforderungsheader anzunehmen. Sie arbeiten in 99% der Fälle sehr gut, aber wie bei so vielen anderen ähnlichen Praktiken neigen sie zu Fehlalarmen und schädigen dadurch die normalen ignoranten Benutzer.

Nachdem ich auf das Problem gestoßen bin, dass ich versehentlich einen leeren User-Agent verwendet habe, kann ich definitiv sagen, dass es keinen Spaß macht, wenn ein Webdienst Sie anders behandelt, nur weil Sie nicht daran gedacht haben, ihm etwas über Ihr Schuhwerk zu erzählen.

Deantwo
quelle