
Ich sehe ein merkwürdiges Muster in meinem HTTP-Zugriffsprotokoll. Manchmal stellt ein mobiler Chrome-Browser Dutzende scheinbar redundanter HTTP-Anfragen, um auf dieselbe Seite zu gelangen.
Was könnte die Ursache für dieses Verhalten sein?
- Eine fehlerhafte App, die die Standard-User-Agent-Zeichenfolge verwendet?
- Browser-Fehler? Scheint unwahrscheinlich, da dies mindestens Chrome 34 bis 45 betrifft.
- Android-Bug? Scheint aus demselben Grund unwahrscheinlich (zumindest 4.4.4 bis 5.1.1.).
- Etwas auf der Site, z. B. JS-Code, der die Weiterleitung verursacht – aber nur bei diesen Benutzeragenten? Dies ist auf mehreren Sites passiert (allerdings mit demselben CMS), aber über 99 % der Sites zeigen dieses Verhalten nicht.
- Benutzer, absichtlich? Wie drückt man bei einem Touchscreen überhaupt 20 Mal pro Sekunde auf „Neu laden“? :) (Natürlich könnte man eine Bluetooth-Tastatur haben, aber das scheint unwahrscheinlich)
- Etwas anderes?
Hier ein Protokollauszug aus einem Anlass. Eine IP-Adresse, anonymisiert: (Zeit, Antwortcode, Anfrage, Referrer)
19:01:33 404 "GET /6/ HTTP/1.1" "-"
19:01:34 404 "GET /favicon.ico HTTP/1.1" "-"
19:01:36 200 "GET /7/ HTTP/1.1" "http://www.example.com/6/"
19:01:41 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:01:42 200 "GET /1.jpeg HTTP/1.1" "http://www.example.com/8/"
19:01:42 200 "GET /2.jpeg HTTP/1.1" "http://www.example.com/8/"
19:01:42 200 "GET /3.jpeg HTTP/1.1" "http://www.example.com/8/"
19:01:44 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:01:45 200 "GET /10/a.css HTTP/1.1" "http://www.example.com/9/"
19:02:02 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:02:13 200 "GET /12/ HTTP/1.1" "http://www.example.com/11/"
19:02:13 200 "GET /4.jpeg HTTP/1.1" "http://www.example.com/12/"
19:02:28 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:02:29 200 "GET /5.jpeg HTTP/1.1" "http://www.example.com/13/"
19:02:34 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:09 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:11 200 "GET /15/ HTTP/1.1" "http://www.example.com/14/"
19:03:18 200 "GET /16/ HTTP/1.1" "http://www.example.com/15/"
19:03:18 200 "GET /17/b.js HTTP/1.1" "http://www.example.com/16/"
19:03:18 200 "GET /17/c.js HTTP/1.1" "http://www.example.com/16/"
19:03:18 200 "GET /17/d.js HTTP/1.1" "http://www.example.com/16/"
19:03:21 200 "GET /18/ HTTP/1.1" "http://www.example.com/16/"
19:03:26 200 "GET /16/ HTTP/1.1" "http://www.example.com/15/"
19:03:26 200 "GET /16/ HTTP/1.1" "http://www.example.com/15/"
19:03:26 200 "GET /16/ HTTP/1.1" "http://www.example.com/15/"
19:03:27 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:27 200 "GET /15/ HTTP/1.1" "http://www.example.com/14/"
19:03:27 200 "GET /15/ HTTP/1.1" "http://www.example.com/14/"
19:03:27 200 "GET /15/ HTTP/1.1" "http://www.example.com/14/"
19:03:27 200 "GET /15/ HTTP/1.1" "http://www.example.com/14/"
19:03:28 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:32 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:36 200 "GET /18/ HTTP/1.1" "http://www.example.com/16/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:44 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:45 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:45 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:45 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:45 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:45 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:45 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:46 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:46 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:46 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:46 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:46 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:47 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:47 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:47 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:47 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:47 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:47 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:47 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:48 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:48 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:48 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:48 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:48 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:48 200 "GET /16/ HTTP/1.1" "http://www.example.com/14/"
19:03:49 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:49 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:49 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:49 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:49 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:50 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:50 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:50 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:50 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:50 200 "GET /14/ HTTP/1.1" "http://www.example.com/8/"
19:03:51 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:51 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:03:51 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:51 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:51 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:52 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:52 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:52 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:52 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:52 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:53 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:53 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:53 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:53 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:53 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:53 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:54 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:54 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:55 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:55 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:55 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:55 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:55 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:55 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:56 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:56 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:56 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:56 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:56 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:56 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:56 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:57 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:57 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:57 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:57 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:57 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:57 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:58 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:58 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:58 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:58 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:58 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:58 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:59 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:59 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:59 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:59 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:59 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:03:59 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:00 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:00 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:00 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:00 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:00 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:00 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:00 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:01 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:01 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:01 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:01 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:01 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:01 200 "GET /8/ HTTP/1.1" "http://www.example.com/13/"
19:04:02 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:03 200 "GET /12/ HTTP/1.1" "http://www.example.com/11/"
19:04:03 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:03 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:03 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:03 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:04 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:04 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:04 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:04 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:04 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:05 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:05 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:05 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:05 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:05 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:06 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:06 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:06 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:06 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:06 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:07 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:07 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:07 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:07 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:07 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:08 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:08 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:08 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:08 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:08 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:09 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:09 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:09 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:09 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:09 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:10 200 "GET /13/ HTTP/1.1" "http://www.example.com/12/"
19:04:10 200 "GET /12/ HTTP/1.1" "http://www.example.com/11/"
19:04:14 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:15 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:15 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:15 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:15 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:15 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:16 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:16 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:16 200 "GET /11/ HTTP/1.1" "http://www.example.com/9/"
19:04:16 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:17 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:17 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:17 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:17 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:17 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:17 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:18 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:18 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:18 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:18 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:18 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:18 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:19 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:19 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:19 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:19 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:19 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:20 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:20 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:20 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:20 200 "GET /9/ HTTP/1.1" "http://www.example.com/8/"
19:04:21 200 "GET /7/ HTTP/1.1" "http://www.example.com/6/"
19:04:21 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:21 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:21 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:21 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:21 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:21 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:22 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:22 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:22 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:22 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:22 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:22 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:22 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:23 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:23 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:23 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:23 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:23 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:23 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:23 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:24 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:24 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:24 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:24 200 "GET /8/ HTTP/1.1" "http://www.example.com/7/"
19:04:24 200 "GET /7/ HTTP/1.1" "http://www.example.com/6/"
19:04:25 404 "GET /6/ HTTP/1.1" "-"
19:25:16 404 "GET /6/ HTTP/1.1" "-"
19:25:17 404 "GET /favicon.ico HTTP/1.1" "-"
19:43:38 404 "GET /favicon.ico HTTP/1.1" "-"
20:24:39 404 "GET /favicon.ico HTTP/1.1" "-"
Abgesehen von dem merkwürdigen „Ich lege meinen Finger auf F5“ scheint alles echtes menschliches Surfen zu sein und kein außer Kontrolle geratener Bot:
Der Benutzer wechselt von einer Seite zur nächsten, lädt Bilder und JS/CSS-Assets (hier werden nicht alle angezeigt, da einige aus einer Asset-Domäne geladen werden)
IP-Adressen sind Adressen inländischer Mobilfunkanbieter (mehrere Anbieter)
Das Referrer-Feld sieht ok aus
Die bisher bei diesem Verhalten gefundenen User-Agent-Strings:
Mozilla/5.0 (Linux; Android 4.4.4; SM-G357FZ Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.94 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 4.4.4; SM-G357FZ Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.94 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG GT-I9506 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG GT-I9506 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36