Приветствую тебя, читатель!
Изучая access-лог Apache, я в очередной раз поразился
многообразию существующих HTTP
useragent.
И в голове возникла мысль, интересно кто-нибудь их учитывает или может есть
сервис, который позволяет получить по ним дополнительную информацию? Результат
развития данной мысли ниже J
Вообще, что можно интересного узнать по юзерагенту?
Для себя я отмечаю следующее:
- кто совершил запрос, браузер или скрипт?
- бот или не бот?
- что за версия браузера и OC?
- shellshock или не shellshock?)
- и т.д.
Выкинув наиболее
популярные строки useragent,
в логах Apache
можно
увидеть следующее:
sourcetype=Apache_access
| dedup useragent
| where not like (useragent,"Mozilla/%")
| table useragent
Немного
погуглив, я попал на сайт с недвусмысленным названием - http://www.useragentstring.com/
. На данном сайте можно получить достаточно обширную информацию по различным
юзерагентам. Можно воспользоваться полем на стартовой странице, что совсем не
весело, или сразу перейти в раздел API и посмотреть, как можно
автоматизировать запросы.
Из
описания сразу стало ясно, необходимо сформировать простенький Get-запрос следующей структуры:
Например:
Результат
проверки можно получить в текстовой строке или в JSON-формате, соответственно меняется
конец запроса (&getText=all или &getJSON=all).
В
ответ, если имеется информация по юзерагенту, можем получить следующие
сведения:
- agent_type (тип приложения сделавшего запрос)
- agent_name (имя приложения)
- agent_version (версия приложения)
- os_type (тип OC)
- os_name (название OC)
- os_versionName (версия OC)
- os_versionNumber (номер версии)
- os_producer(производитель OC)
- os_producerURL(ссылка на производителя)
Автоматизируем
отправку запросов
Powershell
Text
output
$resp = Invoke-WebRequest
-uri "http://www.useragentstring.com/?uas=Mozilla/5.0
(compatible; MJ12bot/v1.4.5;
http://www.majestic12.co.uk/bot.php?+)&getText=all" -Method GET
$resp.Content -split ";"
JSON output
$resp = Invoke-WebRequest
-uri "http://www.useragentstring.com/?uas=Mozilla/5.0
(compatible; MJ12bot/v1.4.5;
http://www.majestic12.co.uk/bot.php?+)&getJSON=all" -Method GET
$ua = $resp.Content | ConvertFrom-Json
$ua
Python
import json
import urllib2
url = "http://www.useragentstring.com/?uas="
+ “Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)”
+ "&getJSON=all"
nurl = url.replace("
", "%20")
req = urllib2.Request(nurl,
None, parameters)
response =
urllib2.urlopen(req)
response_json =
json.loads(response.read())
print response_json["agent_type"]
print response_json["agent_name"]
print response_json["agent_version"]
Вот как-то так. Считаю данный сервис крайне полезным и нужным, особенно в рамках работы центров мониторинга. Ещё греет душу, что не надо получать никакие персональные коды)
Комментариев нет:
Отправить комментарий