Сканер портов
1000 UAHТЗ на ping открытых портов
Назначение модуля.
Модуль предназначен для мониторинга открытых портов на списке заданных ip уведомления ответственного лица в случае некорректного состояния порта (должен быть открыт, а в момент проверки оказался закрыт или наоборот должен быть закрыт, а в момент проверки оказался открыт).
Функциональные требования к модулю.
Модуль должен обеспечить регулярную проверку состояния портов для конкретного списка ip и набору портов для заданного ip.
Требования к платформе реализации.
Модуль должен представлять из себя микросервис реализованный на Symfony (или чистом php). Для его корректной работы необходима установка следующих компонентов:
PHP 7 или выше
MYSQL
Redis
php-fpm
nginx
openssl
Модуль должен корректно работать ОС Unix/Linux.
Требования к системной архитектуре.
В базе данных должны присутствовать следующие таблицы со следующим набором столбцов:
Список IP адресов (ip)
Столбец | Тип | Описание |
id | int | Автоинкремент |
isActive | tinyint | Маркер того следует проверять IP или нет (1 - проверяем, 0 - нет) |
title | string | Примечание IP адреса |
ip | string | IP-адрес |
portRage | int | id строки с набором портов из таблицы наборов портов |
Список набора портов (ports)
Столбец | Тип | Описание |
id | int | Автоинкремент |
openPorts | string | Перечень открытых портов которые следует проверять. Варианты указания
Также условия могут комбинироваться например 1,2,5-10 - говорит о том, что следует проверять первый, второй и порты с пятого по десятый |
closedPorts | string | Перечень закрытых портов которые следует проверять. Варианты указания
Также условия могут комбинироваться например 1,2,5-10 - говорит о том, что следует проверять первый, второй и порты с пятого по десятый |
Раз в 10 минут в системе запускается задача по крону, которая вытягивает из таблицы с IP адресами строки у которых isActive = 1 и проверят набор портов по списку из связанной таблицы (порты подтягиваются по критерию ip.portRange = ports.id).
Если в результате проверки какой-то из портов не соответствует условию открытости или закрытости на забитый в системе e-mail должно отправляться письмо с указанием домена и сроком окончания действия (саму отправку делать не нужно).
Проверить порт на открытие можно попытавшись открыть сокет (fsockopen($ip, $port, $errNum, $errStr, 1);) если порты закрыт, то при пытке открытия сокета выскочит Exception, что можно расценивать как закрытость порта. В случае удачного открытия сокета нужно не забывать его закрыть.
Отзыв заказчика о сотрудничестве с Victor Playsun
Сканер портовОтличная работа! Всё выполнено быстро и качественно, нареканий нет.
Отзыв фрилансера о сотрудничестве с Валерием Гуринчуком
Сканер портовВсе хорошо, быстрая оплата
Актуальные фриланс-проекты в категории PHP
Создать плагин для опросов (викторин) на WordPress
10 000 UAH
Необходимо разработать плагин для WordPress, который будет уметь - сохранять банк вопросов, все в одном формате - вопрос и 4 ответа, 1 правильный - показывать 12 вопросов в случайном порядке, считать хронометраж - собирать данные пользователя - показывать финальный результат с… PHP, Веб-программирование ∙ 58 минут назад ∙ 5 ставок |
Модули для сайта на Laravel
4000 UAH
Модуль доставки и оплаты для сайта https://novabook.top/ (Botble CMS / Laravel) Добавить в checkout удобные способы доставки и оплаты (включая рассрочку), по аналогичному стилю и удобству, как на сайте mirson ua.Доставка (обязательно) Новая Почта Отделение Почтомат Курьер на… Javascript и Typescript, PHP ∙ 13 часов 8 минут назад ∙ 18 ставок |
Нужна интеграция KeyCRM → ПРРО Кашалот |
Разработка 2 SEO-ориентированных сайтов по продаже запчастей (квадроциклы и спецтехника)Разработка двух специализированных сайтов по продаже запчастейОбщая информация Необходимо разработать два специализированных сайта: Запчасти для квадроциклов, UTV, SSV и другой подобной техники. Запчасти для специальной техники. Существующий сайт компании:… PHP, Веб-программирование ∙ 4 дня 19 часов назад ∙ 77 ставок |
Разработка веб-сайта WordPress
1002 UAH
|