Анонимность в Human Emulator Studio. Местоположение.
IP адрес (Http(s) Proxy, Socks4/5).
Что такое прокси?
Не будем подробно расписывать что такое прокси и как они работают, при желании вы легко можете найти в сети огромное количество статьй на эту тему. Если коротко то прокси это сервер-прокладка между вами и сайтом и все ваши запросы к сайту идут через этот сервер. Таким образом сайт видит IP прокси-сервера, а не ваш реальный IP.
Но не всё так просто. Есть различные типы прокси-серверов:
HTTP и HTTPS Proxy это прокси-сервера, позволяющий работать в Internet по HTTP и HTTPS/FTP протоколам.
Они в свою очередь могут быть:
прозрачные — эти proxy не являются анонимными. Они дают знать, что используется proxy-сервер и выдают IP-адрес своего клиента.
анонимные — эти proxy дают знать о том, что используется proxy, но не выдают IP-адрес своего клиента.
искажающие — передают удаленному web-серверу фиктивный IP-адрес.
реально анонимные (элитные) — не сообщают удаленному компьютеру Ваш IP-адрес и о том, что используется proxy сервер.
SOCKS4/5 это прокси-сервера, которые работают с различными протоколами: HTTP, FTP, РОРЗ и др., а не только по HTTP, передают всю информацию от клиента и ничего не добавляют от себя и не раскрывают HTTP-заголовки, в отличие от HTTP proxy. Отличие SOCKS 4 от SOCKS 5 в том, что SOCKS 5 может работать через сетевой протокол UDP, в схемах со строгой аутентификацией и поддерживает сетевую адресацию IPv6.
В зависимости от ваших задач можно использовать любые типы прокси. Качественный прокси-сервер не будет показывать ваш реальный IP, через него нельзя будет понять что вы используете прокси-сервер, он будет подменять и остальную информацию об провайдере, хосте, DNS и его не будет в чёрном списке.
Работа с прокси и соксами в Human Emulator Studio.
Работа с прокси/соксами в Human Emulator Studio аналогична работе в Human Emulator. В обоих версиях программы для это используется функция объекта browser enable_proxy
Но Human Emulator Studio в отличие от Human Emulator работает со всеми типами прокси в том числе и с SOKS5, о чём мы уже писали в статье Socks5 и Human Emulator Studio. НО на данный момент, к сожалению, программа не работает с SOKS5 с аутентификацией, то есть доступ к которым осуществляется по логину и паролю. Это особенность движка Chromium и пока её не исправили.
Для отключения прокси используется функция объекта browser disable_proxy а для получения текущего заданного прокси функция get_current_proxy.
пример на php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// покажем пример использования на примере работе с тором // для работы под тором включим соединение через socks5 // для нормальной работы тор должен быть запущен на компьютере $browser->enable_proxy("","socks5://127.0.0.1:9150",false); // проверим ip $browser->navigate("https://whoer.net"); sleep(3); echo $browser->get_current_proxy(); // отключим прокси $browser->disable_proxy(); // проверим ip $browser->navigate("https://whoer.net"); sleep(3); echo "<br>".$browser->get_current_proxy(); // надо учитывать что TOR полностью скрывает все ваши данные, но он говорит сайту о том, что работа ведётся через анонимайзер тор. |
Работа со списком прокси.
Иногда для решения какой то задачи нужен не один прокси, а использование большого количества прокси. Обычно они представлены в виде текстовых файлов в формате одна строка один прокси-сервер. Для работы со списком прокси в Human Emulator Studio был добавлен специальный объект proxyswitcher. С помощью этого объекта можно организовать в скрипте более удобную работу со списками прокси из разных источников, будь то текстовый файл или ссылка на сайт. Как работать с объектом proxyswitcher можно прочитать в нашей статье Объект proxyswitcher. Продвинутая работа со списком прокси.
Пример работы со списками прокси есть в статье про proxyswitcher.
WebRTC.
WebRTC(Real Time Communication) — технология, которая позволяет пользователям передавать потоковые аудио и видео данные между мобильными приложениями и браузерами. Благодаря WebRTC пользователи могут создавать видеоконференции прямо в браузерах без каких-либо посредников. Самая большая угроза использования WebRTC заключается в том, что эта веб-технология определяет ваш фактический IP-адрес. Чтобы создать аудио-видеосвязь, браузер должен работать с локальными IP-адресами.
В Human Emulator Studio соединение WebRTC идёт через прокси. Также можно отключить WebRTC с помощью функции объекта browser enable_web_rtc.
пример на php:
1 2 3 4 5 6 7 8 |
// требует перезапуска программы // разрешить $browser->enable_web_rtc(); // запретить WebRTC $browser->enable_web_rtc(false); |
Можно также отключить WebRTC из настроек программы. В версии 7.0.40 для улучшения fingerprint WebRTC были также добавлены настройки Fake Media UI и Fake Media Devices. Эти параметры влияют на WebRTC Media Devices.
Включённые настройки Fake Media UI и Fake Media Devices.
Выключенные настройки Fake Media UI и Fake Media Devices.
Обращаем ваше внимание на то, что для изменения этих параметров нужен обязательный перезапуск программы.
Timezone.
Если вы используете прокси-сервера другой страны, находящейся в отличном от вашего часовом поясе, то можно, получив таймзону вашей реальной машины, определить что вы используете прокси-сервер. Что бы этого избежать нужно установить таймзону вашего локального компьютера такое же как у используемого прокси.
В Human Emulator Studio для этого используется функция объекта browser set_time_zone. С версии 7.0.41 time_zone передается как GMT, то есть например 3 = GMT+0300, а -3 = GMT -0300.
пример на php:
1 2 3 4 |
// зададим GMT+0300 $browser->set_time_zone(3); |
Что такое интернационализация?
Интернационализация (internationalization ) – это способ создания приложений, при котором их можно адаптировать для разных аудиторий, говорящих на разных языках, который обеспечивает сравнение строк с учетом языка, форматирование чисел и форматирование даты и времени.
Данные которые можно получить с помощью этого API:
Locale например en-US
Calendar например gregory
NumberingSystem например latn
TimeZone например UTC
Year например numeric
Month например numeric
Day например numeric
Про интернационализацию подробно можно почитать на https://learn.javascript.ru/intl
Для работы с этим API с версии 7.0.40 в Human Emulator Studio в объект browser добавлена функция set_internazionalization($locale=»»,$timeZone=»»,$calendar=»»,$numberingSystem=»»,$year=»»,$month=»»,$day=»»).
пример использования на php:
1 2 3 4 5 |
// зададим интернализацию $browser->set_internazionalization("en-US","UTC","gregory","latn","numeric","numeric","numeric"); |
Геолокация.
Геолокация это ваше точное месторасположение. То есть ресурсу будет доступен не только город, но и Ваши координаты. По умолчанию получение geo данных в Human Emulator Studio отключено. Но с версии 7.0.37 в объект browser была добавлена функция set_geo
пример использования функции на php:
1 2 3 4 5 6 7 8 9 10 11 12 |
// задаём Широта: 51.299300 и Долгота: 9.491000 $browser->set_geo("51.299300", "9.491000"); // проверяем $browser->navigate("https://browserleaks.com/geo"); // ждём sleep(5); // сбросим на по умолчанию, то есть отключим $browser->set_geo(); // проверяем $browser->navigate("https://browserleaks.com/geo"); |
пример на php использования всех функций:
1 2 3 4 5 6 7 8 9 10 |
// задать прокси берлин $browser->enable_proxy("","136.243.47.220:3128"); // задаём координаты берлин $browser->set_geo("51.299300", "9.491000"); // задаём timezone берлина $browser->set_time_zone(1); // интернализация: зададим локализация - de, timezone - Europe/Berlin $browser->set_internazionalization("de","Europe/Berlin"); |
При выполнении примера выше на whoer.net будет следующая картина:
Работа с реальными IP и временем системы.
Помимо всего выше перечисленного Human Emulator Studio имеет функционал для изменения вашего локального IP в сети, DNS, системого времени, изменения MAC адреса заданной сетевой карты.
Для изменения локального IP и DNS(с версии 7.0.42) используется функция объекта connection set_local_ip
пример на php:
1 2 3 4 5 |
// сменим настройки 0 сетевой карты зададим публичные DNS google $connection->set_local_ip(0,"192.168.1.234","255.255.255.0","192.168.1.1","8.8.8.8","8.8.4.4"); |
Использование публичных DNS поможет избежать утечки вашего реального DNS. Утечка возникает когда браузер самостоятельно делает DNS-запросы, вместо прокси-сервера. В этом случае DNS-запрос идет с вашего реального IP-адреса или IP-адреса провайдера и их можно отловить.
Для установки реального времени системы используется функция объекта windows set_system_date
пример на php:
1 2 3 4 |
// Зададим новую системную дату 2012.11.06 $windows->set_system_date(2012,11,6); |
Для смены MAC адреса используется функция объекта connection set_mac_address_by_number
пример на php:
1 2 3 4 |
// Задать MAC адрес для 0 карты $connection->set_mac_address_by_number(0, "6A:C5:8F:75:24:55"); |
Обращаем ваше внимание на то, что все эти функции меняют РЕАЛЬНЫЕ значения в вашей системе, поэтому если у вас скажем интернет подключен на прямую к компьютеру и настраивается по MAC адресу, то замена MAC адреса приведёт к тому что у вас не будет работать интернет.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.