Как направить весь tcp-трафик с гостевой Windows системы через Tor. Для чего применяется прокси сервер

На просторах интернета, блогах и форумах, довольно часто можно встретить вопросы такого типа: как запустить программу через прокси , игра через прокси, как играть через прокси и т.д. С играми как-то не очень надо, а вот в плане анонимности вопрос довольно интересный и актуальный, так как далеко не все программы имеют возможность выходить в сеть и работать через прокси , а уж тем более через сокс5 прокси.

Прежде чем мы перейдем к настойкам проксификатора, советуют прочесть статью « » какие бывают виды и зачем они нужны.

Запуск программ через прокси

Так-как наш сайт параллельно с другими темами рассматривает вопросы анонимности в сети, я решил написать данную статью. В этой статье я опишу один из способов запуска программ через прокси, при помощи программы проксификатора Proxifier .

Для начала скачаем и установим программу. Скачать программу . Для запуска программ через прокси на понадобятся сами прокси. Найти свежие, рабочие прокси можно на , Это хороший сайт, там можно найти много чего интересного.

Настройка программы Proxifier

Теперь можно приступать к настройке Proxifier. Первым делом нужно установить настройки для прокси-сервера (нескольких или только одного в зависимости от необходимости). В меню выбираем в разделе «Profile» вкладку «Proxy Servers».

В появившемся окне нажимаем кнопку «Add»

О ProxyCap

ProxyCap – программное обеспечение, которое легко перенаправит весь сетевой трафик вашего компьютера через прокси сервер или цепочку прокси. ProxyCap обладает большим количеством функций и позволяет туннелировать запросы любой программы.

Уникальная особенность ProxyCap в том, что он может работать с протоколами SOCKS 4/5, HTTP/HTTPS прокси и SSH-соединениями, поддерживает авторизацию в протоколах. Имеется встроенный чекер для проверки работы. Приложение автоматически запускается при старте операционной системы и находится в трее.

ProxyCap позволяет создавать цепочки из прокси смешанных типов – Socks , https , SSH . Программа поддерживает использование цепи до 16 прокси. Для удобной работы в ProxyCap имеется возможность создать гибкий набор правил для роутинга соединений, где можно вручную задать собственные правила туннелирования трафика по таким параметрам как: приложение, IP -адрес, порт, домен или протокол (TCP / UDP ).

ProxyCap поддерживает перенаправление всех DNS запросов через прокси, что защищает от утечки DNS и скрывает ваше реальное местонахождение.

Программа ProxyCap работает под операционными системами семейства Windows (х32 и х64), Mac OS Х и Windows Mobile . Успешно работает с популярными приложениями: FireFox , Chrome , Opera , Internet Explorer , Safari , Outlook , Pidgin , PSI , а так же с приложениями в Metro Style системы Windows 8 (такие как Windows Store и Metro версия Internet Explorer ).

Удобный интерфейс и большой набор возможностей делают эту программу одной из лучших в своем классе.

Программа имеет бесплатный 30-дневный срок использования. Вы можете скачать ее по ссылке:

Получение прокси с панели управления SOCKS Admin

Для работы программы ProxyCap вы можете использовать SOCKS прокси, которые можно получить у поставщика прокси сервиса. Пройдите по ссылке .

1. Откройте страницу и войдите в свой аккаунт, чтобы получить доступ к админ панели.

2. После выполнения входа открывается страница управления Socks . Отсюда вы получаете доступ к прокси серверам через опцию Proxy Search (Поиск прокси) или List Proxies (Список прокси). На странице отображается информация о количестве прокси серверов, доступных в данный момент, а также данные вашего аккаунта (Account Settings ).


3. Нажмите кнопку Proxy Search . Откроется окно со списком стран и количеством прокси в них.


4. Нажмите на страну, прокси серверы которой вы хотите использовать. Результаты выводятся в отдельном окне. Отображаются данные прокси серверов: страна, штат, город, сеть, время работы и скорость.


5. При нажатии на имя хоста появляется всплывающее окно с дополнительными сведениями о прокси сервере. Для просмотра IP и порта прокси нажмите click here to view .

6. Подождите несколько секунд, пока завершится проверка прокси сервера, после чего появляется окошко (см. ниже). Скопируйте IP и порт прокси и используйте эти данные в работе с ProxyCap .

Запуск прокси в браузерах через программу ProxyCap , тестирование прокси.

1. Запустите приложение ProxyCap .


2. После первого запуска мы увидим окно настроек и добавления прокси. Нажмите New proxy server , чтобы добавить наш прокси. В графе Type - необходимо указать протокол SOCKS 5


3. Для сохранения изменений нажмите OK .

4. Теперь вы можете нажать кнопку Proxy check , чтобы проверить добавленный нами прокси.


5. После этого перейдите во вкладку Rules , чтобы добавить новое правило для туннелирования трафика. Нажимаем Add new Rule
В графах:
- Rule Action выбираем - Redirect throught proxy
- Задаем наш прокси в графе proxy .
- Ставим галочку Resolve names remotely для перенаправления всех DNS запросов на socks сервер. Это нужно для защиты от утечки DNS.
- Отмечаем галочкой протоколы TCP и UDP .

(По умолчанию правило задает туннелирование для всех приложений и диапазонов IP/port. Но вы можете сделать свои настройки и вручную выбрать программы, которые будут работать через этот прокси. Таким образом различные программы можно заставить работать через разные прокси одновременно)


6. Нажимаем OK , чтобы сохранить все настройки.
Теперь мы можем запустить любой браузер и проверить работу приложения ProxyCap.
Чтобы проверить наш IP-адрес и DNS, мы воспользуемся сервисом: http://IPleak.com/


Как можно видеть, IP -адрес тот, который вы ввели в окне настроек ProxyCap . Происходит туннелирование SOCKS v 5 через программу ProxyCap .

Знакомство с ProxyCap

Вот как выглядит ProxyCap при первом запуске.


До момента начала работы с программой окно пустое. Ознакомимся с графическим интерфейсом и конфигурацией программы.

Во вкладке Proxies можно добавить новые прокси (New proxy server ), удалить прокси (Delete proxy ), изменить настройки прокси (Properties ), проверить прокси (Check proxy ), а также задать прокси для работы по умолчанию (Set as default ).


Во вкладке Chains находятся настройки для цепочек прокси:


New Proxy Chain – позволяет создавать цепочки из разных прокси, через которые ProxyCap будет туннелировать трафик .

Также в этой вкладке можно изменять (Edit ), удалять (Delete ) и проверять (Check ) сохраненные цепочки прокси.

Конфигурация экспортируется и импортируется в программу во вкладке Ruleset .



Во вкладке Rules можно управлять различными правилами для роутинга интернет соединений и добавлять новые с помощью мастера настроек (New rule wizard ).


Вкладка DNS позволяет создать список доменов, которые всегда будут резолвится локально.



Для доступа к меню программы ProxyCap необходимо нажать правой кнопкой на ее иконку в трее.

Через меню можно включить и отключить ProxyCap (Enable/Disable Proxycap ), просмотреть мануалы по работе с программой (ProxyCap Help ), зайти в меню настроек прокси (Configuration ), а также открыть окно мониторинга соединений и логов (Status and Logs ).


Просмотреть файл Библиотека CMD, реализует настройку микроконтроллера и управление вашей программой через терминал.
Основная задача библиотеки, это прием пользовательских команд через UART интерфейс, их обработка и выполнение пользовательского кода, связанного с той или иной командой.


Подключение библиотеки
#include






< argc) { for (uint8_t i = 0; i < argc; i++) { Serial.printf("%i. %s\n", i, argv[i]); } } } Пример вызова пользовательской функции без параметров и с ними





Автор Kitsum Добавлен 05.12.2018 Категория Библиотеки


Основная задача библиотеки, это прием пользовательских команд через UART интерфейс, их обработка и выполнение пользовательского кода, связанного с той или иной командой.
Данная библиотека позволяет реализовать:
Управление микроконтроллером Любую настройку, будь то WiFi, другие библиотеки или часть Вашей программы Вызывать Ваши задачи (функции) из терминала по команде и передавать им требуемые параметры Использовать контроллер в качестве шлюза между датчиками и программами на PC Внимание: любая команда, передаваемая в терминал обязана заканчиваться символом перевода строки "\n".
Подключение библиотеки
#include Инициализация объекта, к которому мы будем обращаться для добавления команд. В качестве параметра объекту необходимо передать указатель на объект Serial или любой другой схожий по типу интерфейс.
cmd command(&Serial); В функции Setup описываем какие команды требуется обрабатывать. Например, по команде "test" вызывать пользовательскую функцию с именем "myFunctionName". Имя пользовательской функции может быть абсолютно любым.
void Setup() { Serial.begin(115200); command.add("test", myFunctionName); } Пользовательская функция будет вызываться каждый раз, когда по интерфейсу Serial поступит команда "test". Если команда будет передана с параметрами, то эти параметры будут переданы в качестве аргументов пользовательской функции.
В функции loop должна находится команда вызова обработчика.
void loop() { command.handleEvents(); } Пользовательская функция обязана соответствовать ряду требований:
Не возвращать никакого результата (быть объявленной с типом void) Принимать в качестве первого аргумента переменную с типом byte в которой будет храниться число равное количеству переданных параметров Принимать в качестве второго параметра переменную с типом char** в которой будет храниться указатель на массив со всеми указателями (char*) на переданные параметры void myFunctionName(byte argc, char** argv) { /* ... */ } Функция всегда должна иметь такой вид, даже если не подразумевается, что ей будут передаваться какие-либо параметры.
Чтобы перебрать все переданные параметры и вывести их в консоль, можно воспользоваться следующим примером
void myFunctionName(byte argc, char** argv) { if (0 < argc) { for (uint8_t i = 0; i < argc; i++) { Serial.printf("%i. %s\n", i, argv[i]); } } } Пример вызова пользовательской функции без параметров и с ними
# test No parameter was passed # test p1 p2 p3 p4 p5 0. p1 1. p2 2. p3 3. p4 4. p5 Помните, что параметры представлены в виде указателей и работать с ними нужно как с обычными переменными не получится т.к указатель содержит не значение переменной (переданный параметр), а указатель на ту область памяти микроконтроллера в которой это значение находится.
Чтобы сравнить два значения, например, параметр под индексом 0 (идет первым в списке) с каким-либо значением в программе, воспользуйтесь функцией strcmp, которая возвращает целочисленное значение, указывающее на лексическое расхождение строк. Если строки равны, то возвращаемое значение равно 0.
if (!strcmp(argv, "wifi")) { Serial.println(F("Первый аргумент WiFi")); } else { Serial.println(F("Первый аргумент НЕ WiFi!!!")); } Для копирования значения указателя в другую переменную с типом char можно воспользоваться функцией strcpy
char myVar; strcpy(myVar, argv); if (myVar == "123456") { Serial.prinln(F("ok")); } Также можно обернуть указатель объектом String и получить весь функционал этого объекта, который будет содержать значение параметра
String param1(argv); // String param1 = argv; Serial.printf("argv length: %i\n", param1.length()); Serial.printf("argv is integer?: %s\n", param1.toInt() ? "YES" : "NO"); if (param1 == "qwerty") { Serial.println(F("Hello QWERTY!")); } С библиотекой идут несколько примеров, в том числе и пример конфигурации WiFi в режиме STA.


Описанный ниже велосипед является продолжением одной из моих статей на другом, интересном мне, ресурсе. Продолжение и все последующие обновления будут происходить только на сайт
Для начала, хочу процитировать самого себя и тем самым дать пояснения: почему, зачем и для кого это нужно.
Данная тема получила большую популярность у коллег и не раз выручила Вашего покорного слугу, не дав разгореться стулу на котором он сидит.
Но имеющегося функционала стало не хватать, требовалось не только слышать и иногда видеть, а еще получать удаленный доступ к оборудованию и лицезреть всю картину в целом.
Задача поставлена, идем исполнять, но с начало забегу немного вперед и продемонстрирую текущий функционал.
Общее окно программы переработано и теперь отображает список всех групп из Zabbix с их хостами. Список активных триггеров переехал в нижнюю часть окна и отображает дополнительную информацию об узлах с которыми не все гладко. Сам список можно увеличивать, если все совсем плохо, или уменьшать если выражение "Хьюстон у нас проблемы" Вы слышите только в фильмах. Также появились цветные маркеры важности триггера. По двойному клику по активному триггеру мы перемещаемся в соответствующую группу где находится проблемный узел.
Не забыли и про то, ради чего вся начальная песня и писалась - трей с всплывающими оповещениями и звуковым сигналом. Основное окно сворачивается именно туда, чтобы не залеживаться на панели где ценится каждый свободный пиксель.
Хосты в группах стали кликабельны, правда пока только ПКМ, и имеют всплывающее меню позволяющее выполнять банальные действия:
Подключение к узлу:
Telnet SSH RDP VNC Проверка соединения:
Ping Traceroute Естественно его можно расширить, добавив всяких вкусностей по мере возрастания аппетита IT отдела.
Программа по прежнему имеет серверную и клиентскую часть, что позволило организовать кэширование запросов и осуществлять оповещения в момент определения проблемы сервером, а не по таймеру обновления, как это организовано в dashboard zabbix. Раньше узнали о проблеме, раньше приступили к устранению. Естественно и устаревшие триггеры убираются также оперативно.
Также это позволило избавить программу от информации о доступе к серверу, что мне кажется не приемлемым для оповещалки. Чем меньше дырок, тем крепче сон.
Приступим к реализации.
Ну и естественно, Ваш покорный слуга еще не научился писать на C++ ничего более сложного чем "Hello World", поэтому клиент и сервер будет написан на PHP. За исключением того момента, что клиентская часть (при помощи магии Гарри Поттера) станет бинарным файлом. Бог с ним, серверная часть не доступна обывателю, а это самое важное!!!
Для начала, нужно придумать безопасный и понятный алгоритм не нагружающий сервер т.к клиентов может быть 100и или 1000и, всякое бывает. Все не безопасные команды обязаны выполняться на сервере без участия клиента. Дальнейшая работа клиента: обработка данных, выполнение действий с триггерами и т.п должно выполняться только у клиента, не затрагивая сервер.
При обращении клиента к серверу по http происходит проверка его ip на наличие в списках разрешенных. В противном случае показываем фигу. Проверяем, наличие актуального кеша, и отдаём его. Если кеша нет, генерируем новый. Если запрос прилетел от zabbix: принудительно считаем кеш устаревшим, генерируем новый и после этого рассылаем всем клиентам оповещения по UDP протоколу. Это позволит свести расход ресурсов базы данных к нулю т.к все клиенты ринутся забирать новые данные, а все уже в кеше. Супер, все дешево и сердито.
Серверная часть представляет из себя файл index.php где-то на Вашем web сервере. Актуально для Zabbix 2.4 (скорее всего будет актуальна и для последующих версий, будем проверять по мере возрастания аппетита).
Для дополнительной безопасности рекомендую создать отдельную учетную запись в базе данных с правами только на чтение и только к базе zabbix. Это актуально в наши дни.
Переходи в zabbix
Первым делом переходим в Настройка -> Действия -> Источники события: Триггеры и создать новое действие. Назовем случайным образом, например Report problems to ZabbixTrigger.
В условиях выставляем
Значение триггера = ПРОБЛЕМА Значение триггера = OK Это все необходимо, чтобы проблемы в GUI появлялись и исчезали точно именно тогда, когда это происходит в Zabbix (не путать с dashboard).
Вкладка "Операции" должна выглядеть следующим образом. Естественно что путь до php скрипта должен быть вашим.
Вуаля! Если Вы все сделали правильно (без кардинальных изменений), то я рад приветствовать нового ездока моего велосипеда. Поедем тандемом!
Сам клиент прикреплен в конце поста.
Для тех, кто читает титры в кинотеатре
При запуске будет создан файл config.ini в корне программы. При необходимости, измените его настройки, благо их не много.
url="http://zabbix/zabbix-gui" update="60" showalarm="20" Параметр url отвечает за http путь до скрипта на сервере, update за интервал (в секундах) обновления данных с сервера, а showalarm вроде как должен влиять на время отображения всплывающей подсказки в трее.
Теперь немного структуры.
В каталоге sounds находится звук оповещения о новом триггере, формат ogg Каталог icons содержит маркеры триггеров. trigger00 - для нормального состояния, а все последующие соответствуют начальным настройкам zabbix во вкладке Администрирование -> Общие раздел Важность триггеров. Можете изменить на свои цвета, программа все подхватит при перезагрузки. Ну и на закуску каталог ext, это как говорится для меломанов, содержит фри программы для обработки внешних действий клиента. Вы можете заменить их на свои при условии, что стандартные имена параметров запуска и их последовательность совпадают. PS: На этом все, спасибо тем кого это заинтересовало. Предлагайте свои идеи или способы доработки велосипеда. А если найдется программист на C++ так милости просим. В любом случае, функционал будет в дальнейшем расширяться.
zabbixTrigger.zip


Всем доброе время суток.
Сегодня пойдет речь об одном из вариантов сбора информации о лицензиях операционных системах Windows и некоторого сопутствующего программного обеспечения. Для сбора будет использована утилита ProduKey, это далеко не идеальный вариант, но вполне приемлемый, если нет иных средств мониторинга, и требуется что-то быстро слепить на коленке без траты денег.
И так, имеется группа компьютеров находящихся в домене, подсеть 10.10.10.0/24, ProduKey запускается от учетной записи администратора домена или администратора той ветки, к которой принадлежит подсеть.
Программой можно пользоваться как в графическом интерфейсе, так и в консольном режиме. Последний вариант, лично для меня, более предпочтителен.

ВАЖНО: нам требуется программа только на Английском языке т.к имена ключей использующихся в отчетах должны соответствовать именам ключей в PHP скрипте далее.
В корне с программой создаем.bat файл со следующим содержимым
produkey.exe /iprange 10.10.10.2 10.10.10.254 /sjson 10.10.10.0.json /WindowsKeys 1 /OfficeKeys 1 /SQLKeys 1 /IEKeys 0 /ExchangeKeys 1 /ExtractEdition 0 Используемые параметры
/iprange - указывает диапазон адресов для сканирования /sjson - файл отчета необходимо сохранить в формате json /WindowsKeys 1 - собирать ключи операционных систем /OfficeKeys 1 - собирать ключи Office /SQLKeys 1 - собирать ключи SQL сервера /IEKeys 0 - НЕ собирать ключи IE /ExchangeKeys 1 - собирать ключи Exchange /ExtractEdition 0 - НЕ собирать расширенную информацию об операционной системе Это один из вариантов запуска, большее количество параметров описано на сайте разработчика.
После того, как утилита закончит свою работу, она сохранит отчет в формате json в указанный нами файл. Можно использовать и другие форматы отчетов, но явного представления о количестве и качестве мы не получим. Программа только собирает данные, все остальные манипуляции с ними ложатся на плечи рядовых администраторов.
Но не беда, на помощь нам приходит, уже затертый до дыр, Apache + PHP.
Все файлы отчета помещаем на машину, где установлены эти ребята, и обязательно за пределами Web сервера. Сам PHP скрипт будет выглядеть следующим образом.