Анонимность в Human Emulator Studio. Местоположение.

Анонимность в 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:


// покажем пример использования на примере работе с тором
// для работы под тором включим соединение через 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:


// требует перезапуска программы
// разрешить
$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.

Настройки WebRTC

Включённые настройки 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:


// зададим 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:


// зададим интернализацию 
$browser->set_internazionalization("en-US","UTC","gregory","latn","numeric","numeric","numeric");

Геолокация.

Геолокация это ваше точное месторасположение. То есть ресурсу будет доступен не только город, но и Ваши координаты. По умолчанию получение geo данных в Human Emulator Studio отключено. Но с версии 7.0.37 в объект browser была добавлена функция set_geo

пример использования функции на php:


// задаём Широта: 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 использования всех функций:


// задать прокси берлин
$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:


// сменим настройки 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:


// Зададим новую системную дату 2012.11.06 
$windows->set_system_date(2012,11,6);

Для смены MAC адреса используется функция объекта connection set_mac_address_by_number

пример на php:


// Задать MAC адрес для 0 карты 
$connection->set_mac_address_by_number(0, "6A:C5:8F:75:24:55");

Обращаем ваше внимание на то, что все эти функции меняют РЕАЛЬНЫЕ значения в вашей системе, поэтому если у вас скажем интернет подключен на прямую к компьютеру и настраивается по MAC адресу, то замена MAC адреса приведёт к тому что у вас не будет работать интернет.

Обсудить статью на форуме

5/5 - (2 голоса)

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.