Реклама

Поиск

Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt

TutorialQtWinAPI, Qt, ICMP, PING334

Сходу хочу расстроить Вас, Дорогой Читатель. Qt не обладает функционалом для работы с протоколом ICMP и соответственно придется использовать для этих целей API целевой операционной системы. Впрочем, это не удивительно. Протокол ICMP является низкоуровневым протоколом, и для работы с ним требуется использование сырых сокетов, которые не реализованы в Qt .

Но это не является особой проблемой, поскольку в основных целевых платформах имеется необходимый API для реализации ping посылок. Например Microsoft предоставляет простое использование ICMP протокола на основе функции IcmpSendEcho.

Описание IcmpSendEcho

Функция IcmpSendEcho отсылает эхо запросы IPv4 ICMP и возвращает ответы на эхо запросы. Вызов возвращается когда выходит время ожидания или заполняется буфер ответа.

DWORD IcmpSendEcho(
  _In_     HANDLE                 IcmpHandle,
  _In_     IPAddr                 DestinationAddress,
  _In_     LPVOID                 RequestData,
  _In_     WORD                   RequestSize,
  _In_opt_ PIP_OPTION_INFORMATION RequestOptions,
  _Out_    LPVOID                 ReplyBuffer,
  _In_     DWORD                  ReplySize,
  _In_     DWORD                  Timeout
);

DELL Networking. Основы политик маршрутизации (Часть 1)

TutorialТехнологии передачи данныхDELL, PBR, Route-Map174

Корпоративные сети, которые обычно используются для нескольких отделений в организации часто разделены на VLANs для увеличения производительности. Администраторы могут объединить несколько физических коммутаторов в одну виртуальную сеть для создания более эффективного использования полосы пропускания для межведомственного трафика. Участники каждого отделения, кто часто работает удаленно чувствуют увеличение производительности несмотря на большие географические расстояния. При использовании политик маршрутизации другие уровни могут быть включены разрешением администраторов правил входящего и исходящего трафика. Эти правила или установки могут изменить путь пакета по сети.

Настройка PBR включает в себя конструирование route-map с установкой команд, которые включают соответствующий route-map для интерфейса. IP routing должен быть включен на интерфейсах для управления PBR. PBR  может только быть разрешен для входящего трафика через эти интерфейсы.

Реклама

PyQt5 - Урок 1. QLineEdit IP Address

TutorialPyQt5ip address, ip адрес, lineedit, qlineedit, QLineEdit example, QLineEdit IP Address, pyqt5, pycharm1199

Доступны аналогичные статьи на Qt/С++ и Qt/QML

При разработке сетевых приложений может потребоваться создание формочки для ввода ip-адреса, но применение простого метода setInputMask(«000.000.000.000;_»); с данным аргументом для QLineEdit не обеспечивает должного результата, поскольку маска позволяет вводить значения 999, 657 и т.д., тогда как IP-адрес ограничивается число 255.

Одним из способов решения данной проблемы является применение Валидатора. 

Подобный урок был реализован на Qt/C++, а теперь тоже самое реализуем на PyQt5/Python.

Qt/C++ - Урок 001. QLineEdit IP Address

TutorialQtip address, ip адрес, lineedit, qlineedit, QLineEdit example, QLineEdit IP Address, qt, qtcreator1045

Доступны аналогичные статьи на Qt/QML и PyQt5/Python

При разработке сетевых приложений может потребоваться создание формочки для ввода ip-адреса, но применение простого метода setInputMask("000.000.000.000;_"); с данным аргументом для QLineEdit не обеспечивает должного результата, поскольку маска позволяет вводить значения 999, 657 и т.д., тогда как IP-адрес ограничивается число 255.

Одним из способов решения данной проблемы является применение Валидатора.

QML - Урок 001. TextEdit IP Address Validation

TutorialQMLip address, ip адрес, lineedit, qlineedit, QLineEdit example, QLineEdit IP Address, qt, qtcreator, qml1635

Доступны аналогичные статьи на Qt/С++ и PyQt5/Python

До полного набора уроков по Qt, на тему валидации IP-адреса дополню статьи также и вариантом на Qt/QML.

Будет также поле ввода данных, в которое будем вводить IP-адрес. Использоваться для валидации будет RegExpValidator . Одним неприятным моментом в данном случае является то, что подсунуть несколько переменных строки в данный RegExpValidator является довольно нетривиальной задачей, поэтому ограничимся написание регулярки сразу в свойстве regExp у данного объекта.

Реклама

DELL Networking. Основы политик маршрутизации (Часть 3)

TutorialТехнологии передачи данныхDELL, Route-Map199

VLAN Traffic Redirection

Прохождение трафика без PBR

Пример. Сравнение пакетов из одной VLAN, затем маршрутизация их на выход другой VLAN до их места назначения.

Удаленные сервера X, Y, Z ежечасно кэшируются на локальные сервера A, B, C. Пользователи VLAN 10 используют локально кэшированные сервера 99% времени, но периодически нуждаются в доступа к текущим данным из серверов X, Y, Z, которые находятся в другом городе. Трафик по пути между локальными и удаленными серверам превышает часто 100% полосы пропускания. Для минимизации задержек в трафике между пользовательскими станциям VLAN 10 и удаленными серверами настроены PBR для избегания узких мест.

Блокировка злоумышленников по IP при попытках подбора пароля на Django

TutorialDjangoIP, брутфорс, подбор пароля, блокировка, Django, brute force850

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

Предлагаю такой вариант блокировки: при трех неудачных попытках ввода пароля IP блокируется на 15 минут, если такая блокировка на 15 минут происходит 3 раза, то IP блокируется на 24 часа.

Для реализации блокировки понадобится модель, в которой будет находится 4 поля:

  • IP адрес;
  • Количество попыток ввода пароля;
  • Время разблокировки;
  • Статус блокировки - True - если заблокирован, False - если не заблокирован.

Сразу покажу результат работы блокировок в админке сайта, за пару месяцев уже накопилась небольшая коллекция.

DELL Networking. VLAN Configuring

TutorialТехнологии передачи данныхDELL, vlan, voice vlan306

Настройка VLAN на коммутаторах DELL (В зависимости от версии ОС коммутатора синтаксис может несколько различаться.

Прежде, чем настраивать VLAN на интерфейсах коммутатора, необходимо внести VLAN в базу данных коммутатора и создать интерфейс VLAN:

console(config)# vlan database
console(config-vlan)# vlan 1972
console(config-vlan)# end
console(config)# interface vlan 1972
console(config-if)# name Marketing
console(config-if)# end

Первоначальная настройка доступа к VDS на Ubuntu 16.04

TutorialLinuxUbuntu 16.04, Linux, VDS251

В связи с развитием ресурса EVILEG, было принято решение по плавному переезду на домен COM, а также переводу сайта с CMS Wordpress на фреймворк Django. С Ruby On Rails как-то не заладилось, а вот с Django процесс пошёл практически сразу.

Выбирать другой хостинг я не стал, и остался с текущим хостингом TIMEWEB, кстати рекомендую тем, кто ещё не определился со своим будущим хостингом VDS.

А теперь приступим к первоначальной настройке доступа к VDS, который предоставляет TIMEWEB.

DELL Networking. Основы политик маршрутизации (Часть 2)

TutorialТехнологии передачи данныхDELL, Route-Map201

Server Priority

DELL Networking - Server Priority

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

Настройка VLAN на интерфейсе 1G

console#config 
console(config)#vlan 10 
console(config-vlan10)#exit 
console(config)#interface vlan 10 
console(config-if-vlan10)#ip address 192.151.3.5 255.255.255.0 
console(config-if-vlan10)#exit 
console(config)#interface gi1/0/1 
console(config-if-Gi1/0/1)#switchport trunk allowed vlan 10 
console(config-if-Gi1/0/1)#switchport mode trunk 
console(config-if-Gi1/0/1)#exit 

Реклама

Реклама