• Перейти на CTF площадку Игры Кодебай

    Выполняйте задания по кибербезопасности в формате CTF и получайте бесценный опыт. Ознакомиться с подробным описанием можно тут.

Программирование Python

Статья Перехват запросов с веб-страницы с помощью selenium и browsermobproxy в Python

  • 386
  • 2
На поиск решения для данной статьи меня натолкнул вот этот вопрос пользователя (Статья - Немного об IPTV или проверка m3u с помощью Python. Часть 01). Изначально я подумал, что он просто не может найти ссылку, которая улетает в запросах для загрузки файла. Но, как оказалось, ему нужно не совсем это. А необходимо получать ссылку, в его случае это ссылка на загрузку плейлиста, в автоматическом режиме. Таким образом, использование инструментов разработчика автоматически отпало. Я покопался в интернете и нашел ответ на этот вопрос, который и послужил толчком для написания этого кода на Python.

000.jpg

А дело здесь вот в чем. Имеется определенный сайт с онлайн-трансляциями различных каналов. Но, сервера постоянно меняют ссылки на потоки. А соответственно, так как пользователь хотел получить свежую ссылку, ее...

Статья Змея в пакете. Создаем TLS соединение на Python

  • 380
  • 1
Logotype.jpg

Введение
С появлением интернет технологий жизнь людей значительно упростилась. Все покупки, работу и другие дела можно выполнить не вставая из-за компьютера. Но вместе с этим пришли и те, кто хочет заполучить чужую конфиденциальную информацию. Чаще всего таких людей принято называть злоумышленниками. Самый простой пример их работы - это перехват трафика в публичном месте, к примеру кафе. Огромное количество людей, а значит много информации, которую можно вытащить, используя пару утилит. Но сегодня речь пойдет немного о другом. Я расскажу тебе, как защитить свою информацию при передаче, и как происходит сам процесс соединения между двумя устройствами. Обо всем по порядку.

План работы

Перед тем как перейти к работе, следует набросать план, по...

Статья Парсинг страницы с треками, формирование плейлистов и использование mutagen для чтения метаданных аудиофайлов в Python

  • 743
  • 0
Давайте сегодня займемся парсингом, а заодно посмотрим, как работает библиотека для извлечения IDv3 тегов из аудиофайлов. Парсить будем сайт, с которого можно бесплатно скачать музыкальные треки. Скажем так, совместим приятное с полезным. Попрактикуемся немного в парсинге, а заодно скачаем себе несколько треков, для прослушивания локально. Ну или не совсем. Давайте посмотрим, как это сделать с помощью Python.

000.png

Предыстория у создания этого скрипта простая. Захотелось послушать музыку. Слушать в браузере не хотелось. Тем более, что мне понравился консольный медиаплеер mpv. Шустрый и легкий. Я и подумал, а почему бы мне не найти сайт, забрать оттуда ссылки на треки, сделать плейлист, а потом слушать эти треки в плеере? Так я и сделал. Заодно добавил возможность скачивать эти треки и делать плейлист уже из загруженных локальных файлов.

На самом деле, простейший плейлист сделать совсем несложно. Нужно создать файл с...

Статья Используем двухэтапную (двухфакторную) аутентификацию в Python

  • 708
  • 0
Двухфакторную аутентификацию в том или ином виде используют уже довольно давно. Изначально, данный способ предусматривал аутентификацию с помощью SMS-кода. Однако, такой способ не является достаточно надежным, поэтому с некоторых пор стали использовать аутентификацию на базе одноразового пароля. Не обязательно он должен отправляться на смартфон клиента. Возможны и другие решения. Давайте рассмотрим способ реализации аутентификации такого рода с помощью Python.

000_0.png

Для создания небольшого демонстрационного приложения мы будем использовать библиотеку, которая как раз и предназначена для создания и валидации одноразового пароля. В англоязычном варианте такая аутентификация называется OTP, то есть, аббревиатура от слов one time password. Так как этот пароль одноразовый, то действует он только лишь в течении одного сеанса аутентификации. Также, действие пароля ограничено определенным промежутком времени. В нашем случае...

Статья Создание меню выбора клавишами в терминале с помощью Python

  • 1 019
  • 4
Когда мы пишем какое-то консольное приложение подразумевающее пользовательский выбор, хорошо было бы иметь такой инструмент, который бы создавал нужное нам меню и позволял перемещаться по нему с помощью стрелок на клавиатуре. Ведь это гораздо удобнее, чем просить пользователя ввести какую-либо цифру, соответствующую тому или иному пункту. И такой инструмент есть. Давайте посмотрим, как его реализовать в скрипте Python.

000.png

К сожалению, все, что будет описано далее не работает в ОС Windows. Поэтому, речи о кросплатформенности тут не идет. Однако, в Linux данный код работает прекрасно. Давайте создадим небольшой скрипт, который будет использовать меню для пользовательского выбора и запускать те или иные файлы или ссылки в консольном медиаплеере mpv.

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

Статья Немного об IPTV или проверка m3u с помощью Python. Часть 02

  • 1 204
  • 19
Это вторая часть статьи о проверке плейлистов на работоспособность. Небольшие пояснения для тех, кто не читал первую часть. В прошлой статье мы создали небольшие инструменты для обработки плейлистов. Такие скрипты как: разбиение плейлиста на части, объединение, сортировка по именам каналов. А также проверка плейлистов с помощью плеера VLC. В этой же части я попробую рассказать, как я пытался сделать чекер и, что из этого получилось.

000_01.png

Как я уже и говорил в первой части, я не фанат телевизора. Но вот сам принцип проверки потока меня заинтересовал. Сейчас будет немного лирики, поэтому, кого больше интересует практическая часть, этот абзац можно смело пропустить. Я не буду рассказывать сейчас сколько версий чекера я сделал. Просто скажу, что много. А все дело в том, что изначально я исходил из неправильных...

Статья Определение типа файла по его сигнатуре с помощью Python

  • 953
  • 0
Вполне возможно, что при разработке приложений вам может понадобиться определение типа файла. И не всегда тип файла можно узнать по расширению. Если в ОС Linux это не составляет больших проблем, так как данная операционная система распознает тип файла не по расширению, а по содержимому, то вот в Windows отсутствие расширения иногда вызывает множество вопросов. Давайте попробуем понять, как можно определить тип файла с помощью Python.

68416866.jpg

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

Из сторонних модулей можно выделить magic. С ее помощью довольно точно можно узнать mime-тип файла. Вот только работа данного модуля завязана на библиотеку libmagic1. То есть, по сути это просто оболочка вокруг данной библиотеки. И для работы модуля требуется ее наличие. И если в...

Статья [Selenium] Взаимодействие и регистрации аккаунта. Part ⅠⅠ

  • 1 717
  • 1
selenium.png

Приветствую, дамы и господа

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

Вы узнаете про:
  • Взаимодействие с сайтом (DropDown, Entry)
  • Осуществление поиска YouTube
  • Создание аккаунта с помощью Selenium + JSON
Присаживайтесь поудобнее, начинаем кодить!

Глава I: Взаимодействие с сайтом

Как я и говорил в прошлой статье, у Selenium существуют веб-локаторы...

Статья Сканируем случайные адреса Интернет. Получаем баннеры и протоколы с помощью Python

  • 2 138
  • 4
О каждой из этих тем по отдельности я писал в этой: баннеры, и этой: сканирование, статьях. Но давайте попробуем объединить два этих скрипта, чтобы использовать для сканирования адресов возможности scapy, а также получать баннеры с открытых портов с помощью socket.

000.png

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

На самом деле это тема в общем-то не нова. И никто...