Подробно о том, что происходит под капотом в ядре Linux, когда вы выполняете очередной системный вызов при работе с сокетами.
Пользователь
Python — тестирование с помощью pytest(ч.1)
Я знаю, что разработчики по-разному относятся к тестированию программного обеспечения. Вот некоторые примеры подхода к тестам, которые встречались мне за время работы:
Простой SOCKS4 прокси на Python
Disclaimer: Целью статьи является изучение протокола SOCKS4. Представленная реализация является исключительно учебной, не использует аутентификацию клиентов, шифрование или маскировку трафика, вследствие чего не может быть использована для обхода каких-либо блокировок.
Дескрипторы в Python
Привет, Хабр!
Дескриптор — это объектовый атрибут с поведением, определяемым методами в его классе. Если просто — это способ, с помощью которого объект может контролировать доступ к его атрибутам, используя специально определенные методы __get__
, __set__
, и __delete__
. Если говорить еще проще — дескрипторы позволяют задавать точки доступа к атрибутам объекта, добавляя дополнительную логику, когда атрибут читается, записывается или удаляется.
В этой статье поговорим подробней про дескрпиторы.
Как веб-специалисту начать пентест API мобильного приложения и не сломать макбук
Я активный участник программ Bug Bounty и достаточно часто смотрю не только веб‑приложения, но и мобильные приложения, чтобы определить все конечные точки API сервиса и попробовать найти баг в функционале до которого не всегда просто добраться. А почему непросто? Потому что в мобильных приложениях часто встречается SSL Pinning, который не дает перехватывать трафик, а поэтому анализ API приложения становится более сложным. В этой статье я изложу:
1. Как отключить SSL Pinning и получить возможность внедряться в процессы iOS приложений.
2. Как отключить SSL Pinning и внедриться в Android приложение без наличия смартфона на одноименной ОС.
Секреты логических операторов в Python
Логические операции играют важную роль в программировании. Они используются для создания условных конструкций и составления сложных алгоритмов. В Python для проведения логических операций используются логические операторы:
not
— логическое отрицание
and
— логическое умножение
or
— логическое сложение
В этой статье мы поговорим о неочевидных деталях и скрытых особенностях работы логических операторов в Python.
Обнаружение объектов на изображении с помощью моделей YOLOv5 и YOLOv8
Обнаружение объектов является достаточно популярной задачей компьютерного зрения, которая включает в себя идентификацию и обнаружение объектов на изображениях или видео. Данная задача является частью многих приложений, например, таких как беспилотные автомобили, робототехника, видеонаблюдение и т.д. За прошедшие годы разработано множество алгоритмов и методов для поиска объектов на изображениях и их положениях. Наилучшее качество выполнения таких задач достигается при использовании сверточных нейронных сетей.
Одной из самых популярных архитектур нейронных сетей для таких задач, является YOLO (you only look once), созданная в 2015 году. С тех пор появилось довольно много версий данных алгоритмов. Последние выпуски сети предназначены для таких задач как распознавание, обнаружение и сегментация изображений.
Полное руководство по Suricata: основы и важные команды
Введение
Suricata — это многофункциональная и мощная система обнаружения вторжений в сеть (IDS), система предотвращения вторжений (IPS) и инструмент мониторинга сетевой безопасности (NSM). Разработанная Фондом открытой информации безопасности (OISF), Suricata известна своей высокой производительностью и масштабируемостью, что делает её популярной среди специалистов по безопасности для мониторинга и защиты сетевых инфраструктур. Это полное руководство охватывает основы Suricata, её ключевые функции, процесс установки, детали конфигурации и важные команды, чтобы помочь вам максимально использовать её потенциал.
Работа с YOLOV8. Детекция, сегментация, трекинг объектов, а также подготовка собственного датасета и обучение
Если вам кажется, что начать работу с нейросетями - это сложно, то этот материал для вас!
В статье подробно, с примерами кода, разберем основные функции базовой модели YOLOV8 - детекция, сегментация, трекинг объектов, а также создание собственного датасета и дообучение нейросети для работы с собственными объектами!
FastStream — новый убийца Celery?
FastStream - это относительно новая блестящая игрушка в руках Python'истов, которая создана специально для работы с брокерами сообщений.
В Python сложилось устойчивое убеждение, что если мы работаем с MQ - то нам нужен Celery, но он слегка устарел. Именно поэтому люди пытаются выкинуть "деда" и затащить вместо него любой новый многообещающий MQ-инструмент. Кроме того, культ Celery настолько силен в умах, что практически все новые библиотеки для работы с MQ пытаются стать его "убийцей" и заменой.
Однако, это не совсем верно. Существует огромный пласт проектов, которым нужен не фреймворк для менеджмента задач, а просто "голый" функционал Kafka/RabbitMQ/NATS/whatever для межсервисного взаимодействия. И все эти проекты вынуждены довольствоваться "сырыми" python-клиентами к своим брокерам, а всю обвязку вокруг этих клиентов писать самостоятельно. FastStream целится как раз в эту нишу.
В рамках статьи я хочу убедить вас, что не Celery мы едины, и для альтернативных инструментов найдется место под солнцем. А также рассмотрим фичи FastStream, которые он привносит в застоявшийся мир MQ-инструментов.
Celery: разбираемся с Celery Beat
Это продолжение цикла статей про Celery. Первая часть тут.
Сегодня мы более глубоко разберем работу с Celery. Узнаем как работает Celery Beat внутри, научимся настраивать и создавать периодические задачи. И конечно же коснемся практических вопросов.
Роль Celery Beat проста: это планировщик и он запускает задачи с установленными интервалами. Эти задачи затем выполняются доступными рабочими узлами.
Для начала нам нужно разобраться с основными компонентами и названиями, которые будут использоваться в дальнейшем.
Пентест gRPC
В последнее время в современных веб-приложениях с микросервисной архитектурой всё чаще в качестве API используется фреймворк удалённого вызова процедур gRPC. Данный фреймворк чаще всего использует protocol buffers(protobuf) в качестве языка определения интерфейсов и в качестве основного формата обмена сообщениями. Однако, в отличие от более привычных форматов обмена сообщениями (JSON,XML и тд), которые являются текстовыми, в protobuf фигурируют бинарные данные. Помимо этого, gRPC в качестве транспорта использует исключительно HTTP/2. Чаще всего эти обстоятельства вызывают затруденения при тестировании безопасности веб-приложений, которые используют данный фреймворк.
Данная статья поможет разобраться в том, как тестировать веб-приложения, использующие gRPC. Содержание статьи частично пересекается с моим докладом на OFFZONE 2023, однако, если в нём был сделан упор на рассказ об аспектах protobuf и gRPC и обзор существующих инструментов для тестирования безопасности, то здесь мы рассмотрим практический пример по поиску уязвимостей на демонстрационном стенде с использованием Burp Suite и расширения prototbuf-magic, разработанным нами. Для ознакомления с основами protobuf и gRPC рекомендую послушать мой доклад.
DIY для шпиона: использование обнаружения объектов с помощью YOLOv8 в рамках военных стратегий
Применим геопространственную разведку для точного количественного учета воздушных судов противника? Используем для этого технологию обнаружения объектов YOLOv8 на основе аэрофотосъемки, выполненной разведывательными беспилотниками, что обеспечит надежное планирование военных действий.
В рамках глобальной системы мониторинга, известной как «The Machine». , функционируют разнообразные элементы. Данная система объединяет множество устройств, распределенных по всему земному шару, что обеспечивает комплексное наблюдение. Это позволяет государственным органам осуществлять мониторинг за индивидуальными лицами, анализировать общественные поведенческие тенденции и контролировать военные объекты на международном уровне. Геопространственная разведка (GEOINT) занимает центральное место в этой системе.
В этой статье основное внимание уделим GEOINT в качестве ключевого средства для мониторинга военных авиабаз противника. Такой подход к наблюдению за объектами и базирующейся на них авиацией способствует глубокой проработке стратегии и тактики ведения боевых действий.
SPARK для «малышей»
Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).
Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая система для обработки больших объёмов данных, предлагающая широкий спектр возможностей для аналитики и машинного обучения. В нашем обзоре мы сфокусируемся на ключевых функциях чтения, обработки и сохранения данных, демонстрируя примеры кода, которые помогут новичкам быстро включиться в работу и начать использовать эти возможности в своих проектах.
Охота за кредами
Существуют различные способы аутентификации в системах Windows, каждый из этих способов сохраняет или кэширует переданные учетные данные. В этом модуле мы рассмотрим основные типы аутентификации и места кэширования переданных данных, а также разберем, как можно получить к ним доступ.
Обращение к айтишникам Qiwi
Мы знаем, что в компании ходят слухи о скорых сокращениях. Сопровождается это рекомендациями поскорей искать работу. Вполне возможно, с кем-то уже проводятся встречи, чтобы убедить уйти без компенсаций.
Не ведитесь!
Работа с Kubernetes: поднимаем локальный кластер и деплоим в него приложения
Павел Агалецкий, ведущий разработчик юнита Platform as a Service Авито, написал, как поднять кластер Kubernetes на локальном компьютере Mac с помощью подручных инструментов, а потом задеплоить в него простейшие приложения.
Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 2. Знакомство с виджетами и Qt Designer
Мы продолжаем изучать PySide6/PyQt6 и сейчас мы с Вами познакомимся с виджетами, компоновкой и Qt Designer
Ссылка на 1 урок с установкой PySide6 и создания первого приложения.
PySide6 включают в себя довольно большое количество встроенных виджетов. Вы можете найти более подробную информацию в официальной документации PySide6.
Полезные модули PowerShell. Переводчик в консоли, SpeedTest, Syslog и другие
Всем привет! Порой, написать графическую форму для консольного приложения может оказаться очень удобным решением, тем самым не нужно запоминать все ключи программы, особенно, если пользоваться им приходится изредка, тем самым автоматизируя работу с данным приложением в дальнейшем. Но, ситуация может быть обратной, когда приложение имеет только графический интерфейс, а вам нужно получить вывод его работы в консоли, например, для возможности передачи метрик в систему мониторинга. С тех пор как начал проводить все больше времени в консоли, заметил, что становится менее удобно переключаться на ранее привычные инструменты, лишний раз использовать мышь, держать открытыми излишние приложения или вкладки в браузере, особенно, если работаешь на удаленной машине без прямого доступа к графическому интерфейсу. У меня накопилась небольшая коллекция полезных модулей, большинство из которых написаны совсем недавно, успел привыкнуть при регулярном использовании и хотелось бы ими поделиться. Осознавая, что тенденция ухода Windows систем на территории РФ растет, тем не менее думаю еще очень много людей, кто так же как и я продолжают использовать данную систему и автоматизировать свою работу, возможно, представленные модули так же смогут пригодятся. Все модули опубликованы в репозитории на GitHub и менеджере пакетов Nuget, откуда их можно установить одной командой.
Галопом по Европам: Легитимные процессы Windows на пальцах
В этой статье моей целью будет быстро и понятно внести памятку о легитимных процессах Windows. Немного расскажу, какой процесс за что отвечает, какие нормальные свойства имеют процессы, и приправлю это все небольшим количеством краткой, но полезной информации.