Очередной приступ паранойи был вполне обоснован - он наступил после прочтения статьи о методах анонимности в сети , где автор на примере браузера 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.
Что ещё интересного? Автоматизация . Отмечаешь галочками какие браузеры мы имитируем, ставишь галочку «Обновлять автоматически», указываешь интервал времени, и забываешь. Ничего лишнего. Для любопытных - посмотрите в консоли «фоновую страницу» - там всё не плохо залогировано.

Открытые исходники. Если есть желание допилить под себя, всё что необходимо, это:

  1. Открыть ссылку расширения на гитхабе;
  2. Нажать «Download Zip» или склонировать;
  3. На странице расширений поставить чекбокс «Режим разработчика»;
  4. Нажать «Загрузить распакованное расширение...» и указать путь к распакованному архиву или клону;
Буду очень признателен конструктивной критике и предложениям.

Лучше один раз увидеть.

Наверное, каждый знает, что сайты и сервисы собирают информацию о пользователях для собственных целей. User Agent - строка, которая содержит информацию о версии операционной системы, браузере и его особых функциях, а также об устройстве, с которого пользователь посещает сайт. Сайты собирают эти сведения для корректного отображения страницы и её содержимого. Раньше, сайты создавались с учётом особенностей разных браузеров, поэтому пользователи изменяли Юзерагент, чтобы просматривать страницы сайтов в том виде, который им нужен. Этим инструментом часто пользуются разработчики, проверяя работоспособность страниц с разных устройств.

Сама по себе информация, которую предоставляет Юзерагент браузера вреда не представляет, однако, некоторые сайты и сервисы используют её для идентификации пользователей. Поэтому, User Agent мешает тем, кто работает с мультиаккаунтами, социальными сетями и торговыми сервисами: smm менеджерам, арбитражникам, вилочникам, и.т.д. С их помощью сайты, сервисы и социальные сети обнаруживают одновременную работу нескольких аккаунтов и блокируют всю сеть, что приводит к потере денег и времени. Чтобы этого не случилось, пользователи изменяют User Agent в браузерах и программах, в которых присутствует встроенный браузер.

Также подмена User Agent поможет просто сохранить анонимность и обеспечить безопасность компьютера и хранимых на нём данных, а также обойти ограничения и посещать сайты, содержимое которых доступно только при использовании определённой платформы или устройства.

Однако, смена User Agent имеет недостатки: некоторые сайты могут отображаться некорректно, а сервисы технической поддержки получат неверную информацию о вашем устройстве и браузере, что затруднит решение проблемы. Поэтому, делайте это с умом и не забывайте откатывать изменения, если этого потребует ситуация.

Как отключить User Agent в браузерах

Способы изменения User Agent отличаются, в зависимости от браузера. Где - то это сделать проще, где - то сложнее, а в отдельных случаях, сменить User Agent без сторонних расширений не представится возможным. Если вы не знаете, как изменить User Agent, то воспользуйтесь инструкциям ниже. В них рассказывается, о изменении User Agent в популярных браузерах.

Изменение Mozilla Firefox

В новых версиях Mozilla Firefox изменить User Agent можно через командную строку браузера. Для этого вам потребуется:

  1. Открыть браузер и в адресную строку ввести: about:config.
  2. Нажимаем правой кнопкой мыши в окно настроек и выбираем пункт "создать", а затем выбираем "строка".
  3. После этого, откроется окно, где предлагается назвать строку. Даём ей имя general.User Agent.override и жмём "Ок".
  4. После этого, появится новое окно, которое потребует ввести значение строки. Вводим в неё нужный вам User Agent и нажимаем "ОК".

Универсальный способ изменения User Agent для браузеров на базе Chromium

Универсальный способ, который подойдёт для всех браузеров на базе Chromium. Замена юзер агента осуществляется прямо через браузер, используя встроенные инструменты разработчика. Для этого нужно:

  1. Открываем браузер и заходим в его меню. Наводим курсор на пункт "Дополнительные инструменты", затем кликаем на пункт "Инструменты разработчика", либо вызываем меню сочетанием клавиш Ctrl+Shift+L или просто жмём F12.
  2. В появившемся окне справа нажимаем на три точки, которые расположены на вкладках сверху
  3. Во всплывающем окне выбираем раздел "More Tools", в нём кликаем на кнопку "Network conditions".
  4. Снизу справа откроется дополнительная вкладка. В разделе "User Agent" снимаем галочку с пункта "Select automatically".
  5. После этого, выбираем необходимый User Agent из ползунка, или же вводим нужный в специальное поле, расположенное ниже.
  6. Данный способ подойдёт для трёх указанных выше браузеров. Если же он не сработал, то попробуйте воспользоваться другими способами, которые перечислены ниже.

Изменение Google Chrome

Поменять User Agent в Google Chrome несложно. Если универсальный способ вам не помог, или оказался слишком сложен, то попробуйте этот. Он работает для версий выше 26. Вам потребуется:

  • Кликнуть правой кнопкой мыши на ярлык браузера.
  • Во всплывающем окне нажать "Свойства."
  • В поле "Объект" добавить следующее содержимое: --user-agent="(необходимый вам User Agent)”
  • После этого, нажмите "ОК".
  • Нажмите Win+R. В открывшемся окне "Выполнить", впишите chrome --user-agent="(нужный User Agent)"
  • Нажмите "ОК"

Также можно просто использовать расширение, которое сменит User Agent в пару кликов. Найти их можно в поисковике, или в магазине расширений Chrome. Если вы не знаете, какое расширение использовать, то советуем обратить внимание на User-Agent Switcher для Google Chrome.

Изменение User Agent в Opera

Если универсальный способ, указанный выше, вам не помог, попробуйте воспользоваться дополнительными способами изменения User Agent в опера, которые зависят от версии вашего браузера. Чтобы сменить User Agent в 43 версии Oprea и ниже необходимо:

  1. Открыть браузер, в адресную строку ввести opera:config#UserPrefs|CustomUser-Agent.
  2. В открывшемся окне впишите нужный вам User Agent.

В новых версиях такой способ может и не сработать, поэтому придётся воспользоваться сторонними расширениями, которые меняют User Agent браузера, или делают его случайным при каждом входе в браузер. Их легко найти по соответствующему запросу в поисковике. Например, расширение User-Agent Switcher для Opera.

Изменение Yandex Browser.

Помимо универсального способа, описанного выше, сменить User Agent в Yandex Browser можно при помощи специального расширения, которое можно найти при помощи поисковика. Мы рекомендуем использовать расширение User-Agent Switcher для Yandex Browser.

Помните, что сменой Юзер агента нужно пользоваться с умом. Не забывайте возвращать исходные параметры после каждого изменения, поскольку неверно установленный 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 (за подсказку спасибо хабрачуваку под ником ).

Вообще расширение успешно выдает себя за следующие браузеры:

  • IE с 6 по 10;
  • Chrome (Win / Mac / Linux);
  • Firefox (Win / Mac / Linux);
  • Safari (Win / Mac / Linux);
  • Opera (Win / Mac / Linux);
  • iPad и iPhone.
Что ещё интересного? Автоматизация . Отмечаешь галочками какие браузеры мы имитируем, ставишь галочку «Обновлять автоматически», указываешь интервал времени, и забываешь. Ничего лишнего. Для любопытных - посмотрите в консоли «фоновую страницу» - там всё не плохо залогировано.

Открытые исходники. Если есть желание допилить под себя, всё что необходимо, это:

  1. Открыть ссылку расширения на гитхабе;
  2. Нажать «Download Zip» или склонировать;
  3. На странице расширений поставить чекбокс «Режим разработчика»;
  4. Нажать «Загрузить распакованное расширение...» и указать путь к распакованному архиву или клону;
Буду очень признателен конструктивной критике и предложениям.

Лучше один раз увидеть.

В этой короткой заметке я покажу простой способ, как поменять 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

Close