Много анонимности не бывает — скрываем User-Agent. User Agent Switcher для Mozilla Firefox: скрытие информации о браузере для самйтов в одно касание Приложение default user agent для chrome
User Agent Switcher - небольшое расширение имеющееся в составе большинства современных браузеров (в некоторые интегрировано изначально) , добавляющее на панель кнопку при нажатии на которую может быть изменён User Agent (информация представляющаяся веб-серверу при посещении сайтов клиентскими приложениями, браузерами, менеджерами загрузки и пр...) .
Изначально User Agent строка предназначалась для того что бы веб-сайты могли идентифицировать версию браузера и основываясь на этих данных выдать ему контент в "корректно-понятном" для него виде. В основном это было связано из за различий в браузерных движках, преобразующих содержимое веб-страниц и информацию о форматировании в интерактивное изображение форматированного содержимого на экране. В дальнейшем, после "стандартизации " браузерных движков, эта функция стала практически невостребованной и теперь используется в основном для сбора статистики, поисковой оптимизации (в том числе "чёрной") и пр...
С помощью User Agent Switcher можно проверить сайты на предмет клоакинга (приём "чёрной" поисковой оптимизации) и посмотреть одинаковый ли контент отдаётся посетителям сайта и поисковым ботам. Так же, расширение можно применять для обхода ограничения доступа, основанного на версии браузера, которое используется на некоторых сайтах (например некоторые сайты до сих пор соглашаются общаться только с Internet Explorer) .
User Agent Switcher в своём "дефолтном " состоянии имеет очень маленький "набор браузеров ", а заполнять (создавать) их самостоятельно занятие долгое и мало интересное... Но, в дополнении имеется функция экспорта/импорта настроек, поэтому можно воспользоваться каким либо готовым файлом XML (UserAgent Switcher list) , например файлом настроек созданным посетителями форума Tech Patterns (Download XML file) . Импортируемый из файла "набор браузеров " очень большой:
Используя User Agent Switcher необходимо иметь ввиду что он не изменяет стиль отображения страницы предоставляемую движком используемого браузера, а только осуществляет подмену идентификации браузера (User Agent) . Поэтому некоторые из "особо хитрых " сайтов могут выглядеть "не так "...
Очередной приступ паранойи был вполне обоснован - он наступил после прочтения статьи о методах анонимности в сети , где автор на примере браузера FireFox рассказывал о потенциальных утечках идентификационной информации. И стало интересно - а на сколько озвученные решения применимы, скажем, к браузеру Google Chrome
?
Скрыть реальный IP - используем разные VPN сервера, отключить львиную долю отслеживающих скриптов - Adblock Plus и Ghostery убрать Referer - не вопрос , что то ещё забыли… Ах да - User-Agent - своеобразный «отпечаток», по которому (в связке, скажем, с IP) легко идентифицировать пользователя. И с этим надо было что-то делать. Найденные решения лишь статично изменяли значение User-Agent, чего было явно недостаточно. Тогда и было решено написать плагин для скрытия реального User-Agent"a, а если быть точнее - подменять его на рандомный. Или почти рандомный.
Немного теории
Вообще, User-Agent (далее по тексту - UA ) - штука нужная. Нужная в первую очередь для корректного отображения страниц, ведь нам всем известно - разные версии разных браузеров по разному рендерят странички, и заботливые web-программисты учитывают этот факт, выдавая нужным браузерам нужным скрипты и стили. Разнится поддержка доступных технологий «движками». Отсюда вытекает первое требование к итогу - возможность «имитировать» различные браузеры, и что самое важное - иметь возможность выбора между ними.UA - это в первую очередь набор. Набор различных идентификаторов, по которым и происходит определение - какой браузер, какая операционная система, какой версии, и какое специфичное ПО (привет, IE) стоит у пользователя.
Почему именно IP и UA надо скрывать в первую очередь? А давайте посмотрим на лог пустого сайта-заглушки, на котором вообще ничего нет:
$ cat somesite.org.access_log | tail -3 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)" 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 10.12.11.254 - - "GET / HTTP/1.0" 200 5768 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"
На сайте ничего нет, а я знаю о посетителе более чем достаточно. Всё потому что «логи знают всё» .
Немного практики
Итак, решено - подставляем фейковый UA . Но как его сформировать? Я пошел по пути собирания с десятка UA каждого интересующего браузера, и написания регулярки для каждого, которая будет генерировать максимально правдоподобный и в то же время а какой-то мере уникальный отпечаток. Хотите пример? Вот вам 10 UA браузера «IE 9», и среди них пять настоящих. Сможете отличить?Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; chromeframe/12.0.742.112)
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 6.0; Win64; x64; Trident/5.0; .NET CLR 3.8.50799; Media Center PC 6.0; .NET4.0E)
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 8.1; Trident/5.0; .NET4.0E; en-AU)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 8.0; WOW64; Trident/5.0; .NET CLR 2.7.40781; .NET4.0E; en-SG)
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 8.0; Win64; x64; Trident/5.0; .NET4.0E; en)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Zune 4.0; Tablet PC 2.0; InfoPath.3; .NET4.0C; .NET4.0E)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 7.0; Trident/5.0; .NET CLR 2.2.50767; Zune 4.2; .NET4.0E)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0
Да, это возможно, но для это нужно анализировать. Анализировать, например, какие.net могут стоять на каких ОС, анализировать версии и сочетания, нюансы. Когда они теряются в куче - задача становиться мало тривиальной. Кому интересно как выглядят регулярки - добро пожаловать по этой ссылке . Дня генерации использовал randexp.js (за подсказку спасибо хабрачуваку под ником barkalov).
Вообще расширение успешно выдает себя за следующие браузеры:
- IE с 6 по 10;
- Chrome (Win / Mac / Linux);
- Firefox (Win / Mac / Linux);
- Safari (Win / Mac / Linux);
- Opera (Win / Mac / Linux);
- iPad и iPhone.
Открытые исходники. Если есть желание допилить под себя, всё что необходимо, это:
- Открыть ссылку расширения на гитхабе;
- Нажать «Download Zip» или склонировать;
- На странице расширений поставить чекбокс «Режим разработчика»;
- Нажать «Загрузить распакованное расширение...» и указать путь к распакованному архиву или клону;
Лучше один раз увидеть.
В этой короткой заметке я покажу простой способ, как поменять User Agent в браузере Mozilla. Что такое этот User Agent? Это такая запись-идентификатор браузера, которая отправляется в каждом пакете данных при работе в сети интернет. То есть, у каждого браузера есть свой User Agent. Запись прописывается в HTTP-заголовке, там впрочем еще некоторую инфу можно найти, но это уже другая история.
Этот параметр нужен в первую очередь для сайтов, чтобы они лучше понимали, какой браузер используется (это необходимо для правильного отображения сайта на всех браузерах, как на устаревших, так и на современных). То есть, если у вас Мозилла, а вы поставите User Agent от Internet Explorer, то соответственно сайты будут думать что вы с него и сидите, а не с Мозиллы.
Изменить User Agent в Мозилле можно стандартными способами, при помощи страницы с настройками, в нее можно попасть, если в адресе написать вот это: about:config:
Вверху будет поле, там нужно ввести слово useragent, и посмотреть, нет ли такого параметра:
Как видите, у меня этот параметр есть, а у вас скорее всего не будет. Поэтому если что — создавайте строковый параметр с именем general.useragent.override. Только смотрите, чтобы параметр был строковый! Потом, внутри этого параметра можете указать специальную строку (два раза нажмите по параметру), которая и будет идентифицировать ваш браузер. Вот например если указать эту строчку:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
то сервер, или сайты, будут вас видеть как Internet Explorer 9, перезапускать браузер не нужно, все будет сразу работать. Почти все юзер-агенты можно найти в интернете, любого браузера — просто копируете строчку, таким образом вставляете, нажимаете OK и все — вас видят уже под другим браузером
Есть еще дополнение, можете скачать его, оно называется User Agent Switcher, но правда я не могу понять, почему оно у меня не заработало (но при этом установилось). После установки дополнения, в браузере должна появится менюшка с готовыми агентами браузеров, это реально удобно наверно и быстро можно менять их… но их там очень мало — только пару версий Internet Explorer и третий Айфон, и все. Я так понял, что это расширение просто дает возможность создать такое меню самому, потому что если посмотреть в настройках его, то там можно заметить опцию добавление своих юзер-агентов, вот она:
В общем, думаю что это косяк на моей стороне, а вы можете устанавливать, все таки многие пользователи уже установили и вроде как проблем нет. Совсем забыл, вот официальная ссылка откуда его можно скачать.
15.02.2016Если у вас мания преследования, это не значит, что за вами никто не следит...
Медицинское наблюдение
Некоторое удивляются: "А как какой-то_сайт.ру узнал мою ОСь и браузер?". Да, многие сервисы собирают такую информацию, т.к. это иногда важно для корректного отображения страниц. Еще это важно для сбора статистики. Например, благодаря такой информации я знаю, что среди посетителей нашего сайта 33% используют ОС Ubuntu и ей подобные и еще 30% пользуются другими дистрибутивами Linux.
Вообще-то, в этом (сборе таких данных) нет ничего страшного, если верны все 5 утверждений из нижеприведенных:
- Вы не пользуетесь Windows.
- Вы не троллите на хакерских сайтах (и вообще не хамите).
- Всю ценную информацию вы храните на удаленных серверах с регулярным бэкапом и 2048-битным паролем (ну, или дома под подушкой).
- Вы не страдаете манией преследования.
- Вы добропорядочный налогоплательщик.
Так же можно ничего не бояться, если вы вообще не выходите в интернет.
Лично я не могу выполнить пп.4-5, поэтому регулярно "меняю" свой браузер и ОСь.
Справка по User Agent
Чтобы узнать информацию о посетителех, сервер запрашивает у браузера информацию, называеюмую USER-AGENT. Это текстовая строка типа такой:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 3.5.30729)
Обычно в ней содержится информация о версии ПО, операционной системе и языке системы, но может быть и что-то еще.
В приведенной строке содержится такая информация:
- ОС Windows Vista
- Браузер Internet Explorer 6.0
- .NET версии 3.5.30729
Некоторые компании (все, купленные Майкрософтом плюс многие банки, используеющие HTTP-клиент-банк) не поддерживают свои сайты для браузеров, отличных от MSIE. Именно поэтому подмена значения USER-AGENT актуальна не только для жделающих скрыть свою информацию, но для добропорядочных линукс-пользователей.
Со списком значений поля USER-AGENT можно ознакомиться в Википедии .
Мы же попробуем менять значение поля USER-AGENT в браузерах Firefox и Chrome\Chromium. Все описанное делалось в Ubuntu, но будет прекрасно работать в любой другой ОС.
Поехали...
Подделка User-agent в браузере Firefox
Вариат 1 - простой
Для начала устанавливаем плагин User Agent Switcher . Перезапускаем Firefox и выносим кнопочку User Agent Switcher на панель (можно и не выносить, а использовать через меню "Инструменты").
Но по умолчанию список User-agent-switcher очень мал, поэтому на надо его расширить (хотя, вам может и хватит).
Скачиваем файлик useragentswitcher.xml . Открываем настройки User Agent Switcher , давим кнопку Import и выбираем свежескачанный файл.
Теперь можно представляться практически любым из существующих браузеров.
Вариант 2 - для красноглазиков
Открываем в браузере страницу настроек. Для этого в адресной строке пишем:
Создаем строковый параметр general.useragent.override . По умолчанию его не существует
И задаем ему любое значение - именно его бразер будет отдавать на запрос о User Agent.
Подделка User-agent в браузере Chrome и Chromium
Вариант 1 - простой, но бестолковый
Этот способ похож на первый вариант для Firefox, но Хромовский плагин сильно бестолков, т.к. не может подменить реальное поле User-agent. Эта обманка действует только, если сайт определяет ОСь и браузер средствами Java. Вот ссылка на страницу плагина . По заявлению самого автора плагина все будет шоколадно, когда Google опубликуе API по данному вопросу.
Если по какой-либо причине Вам потребовалось сменить User Agent в своем браузере, то эта статья для Вас.
Итак, User Agent - это такая строка (приложение) браузера, которая служит для идентификации различных параметров - имя браузера, разрядность браузера, версия браузера, версия операционной системы и другие параметры.
Термин обычно используется в сетевых и интернет технологиях для приложений, осуществляющих доступ к сайтам. Юзер Агент используют браузеры, поисковые роботы (Yandex, Google и прочие), а также различные «пауки», мобильные телефоны и другие устройства.
Типичная ситуация на работе - системный администратор закрыл доступ ко всем браузерам кроме Internet Explorer, а хочется использовать Chrome или Opera, как же быть в этом случае? Обманем системного администратора. Секрет обхода блокировки заключается в смене user agent"a браузера.
Способ 1.
Данный способ работает в большинстве браезеров. Пропишем в ярлыке браузера параметр:
User-agent
Заставим Оперу выдавать себя за Internet Explorer 9, щелкаем правой кнопкой мыши по ярлыку - "Свойство" - "Объект" и добавим строку:
User-agent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
То есть полный путь должен получиться примерно таковым:
"C:Program Files (x86)Operalauncher.exe" --user-agent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
Теперь остается только нажать "ОК".
Способ 2. Mozilla Firefox
Открываем браузер, в адресной строке набираем следующее:
About:config
Нажимаем на кнопку "Я обещаю, что буду осторожен!":
General.useragent.override
А в значении вписываем юзер агент любого браузера, ну например ie 9:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Готово. Теперь мы маскируемся под IE.
Способ 3. Расширения
В современных браузерах можно использовать различные расширения. Ищем в браузерах что-то типа: "Загрузить расширения" и ищем такие расширения как "User-Agent Switcher", "Custom UserAgent String" и другие.