Как направить весь 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 скрипт будет выглядеть следующим образом.