... che non sempre è possibile identificare immediatamente un crawler da una user agent, qualche volta è necessario studiare più a fondo il comportamento del client per scoprire anomalie.
E' questo il caso di una user agent che da tempo attira la mia attenzione per "movimenti anomali."
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4
Innanzi tutto è curioso notare come la user agent si presenti come BonEcho, il nome in codice per la versione di sviluppo di Firefox 2.0. Inoltre, il suo comportamento è anomalo, come potete notare da questo frammento di log:
$ grep 'Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4' access.log 67.195.37.95 - - [15/Aug/2008:00:06:10 -0700] "GET /blog/2006/12/feedburner_network_webmarketing_mdr.php HTTP/1.0" 200 9787 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:00:07:42 -0700] "GET /mt4/mt-script-cm.cgi?__mode=red;id=13952 HTTP/1.0" 200 619 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:00:08:29 -0700] "GET /mt4/mt-script-cm.cgi?__mode=red;id=13571 HTTP/1.0" 200 615 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:01:07:42 -0700] "GET /blog/styles.css HTTP/1.0" 304 219 "https://simonecarletti.com/blog/" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:01:07:43 -0700] "GET /static/mt4/themes-base/blog.css HTTP/1.0" 304 220 "https://simonecarletti.com/blog/styles.css" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:01:08:44 -0700] "GET /blog/2008/06/nuovo-sito-per-asp-stats-generator.php HTTP/1.0" 200 7082 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:01:09:20 -0700] "GET /blog/software-e-strumenti/lettori-feed/ HTTP/1.0" 200 7834 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:01:09:29 -0700] "GET /mt4/mt-search.cgi?blog_id=1&tag=movabletype&limit=20 HTTP/1.0" 200 21019 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:01:09:39 -0700] "GET /mt4/mt-search.cgi?blog_id=1&tag=feeddemon&limit=20 HTTP/1.0" 200 19446 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4" 67.195.37.95 - - [15/Aug/2008:01:09:49 -0700] "GET /mt4/mt-search.cgi?blog_id=1&tag=firefox&limit=20 HTTP/1.0" 200 22468 "-" "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.4) Gecko/20080721 BonEcho/2.0.0.4"
Notate come prediliga pagine di ricerca ma, soprattutto, come al primo accesso registrato nel log non carichi insieme alla pagina anche tutto il corredo di stili CSS, file JavaScript ed immagini. Quest'ultimo comportamento è tipico di un crawler, non di un utente.
Eseguendo qualche banale ricerca come un reverse DNS ecco comparire la sua identità:
$ nslookup 67.195.37.95 Server: 192.168.0.1 Address: 192.168.0.1#53 Non-authoritative answer: 95.37.195.67.in-addr.arpa name = llf320039.crawl.yahoo.net. Authoritative answers can be found from:
Quasi sicuramente si tratta di un bot. Strano che Yahoo! abbia deciso di celarne l'identità, vero?