Сообщество - Life-Hack [Жизнь-Взлом]/Хакинг

Life-Hack [Жизнь-Взлом]/Хакинг

272 поста 2 789 подписчиков

Популярные теги в сообществе:

10

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python

Порою возникают ситуации, когда необходимо использовать в скрипте Python IP-адрес используемый активной сетевой картой, которая смотрит в Интернет, узнать MAC-адрес этой карты и имя сетевого соединения. К сожалению, функций из коробки пока что не наблюдается. Есть сторонние модули, которые позволяют узнать MAC-адрес, например getmac, но в качестве параметров в них нужно также передавать или IP-адрес, или имя соединения. Но, что, если их нужно определять программно и вводить вручную не вариант?
Я нашел для себя решение, которое работает, но требует тестирования на большом количестве систем. Хотя, думаю, что на большинстве ОС семейства Windows или Linux оно будет работать.

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Импорт библиотек

В данном решении не требуется устанавливать сторонние библиотеки. Необходимо лишь импортировать в скрип те, что нужны для его работы. Выполним их импорт:

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Получение IP-адреса активной сетевой карты

Уже очень давно, около 15 лет назад на Stack Overflow был дан ответ по поводу получения «основного», имеющего маршрут по умолчанию, IP-адреса. Как описывает его автор скрипта, он работает под всеми основными ОС: Windows, Linux, OSX. Вот ссылка на данный пост.
Несмотря на то, что скрипту уже довольно много лет, он работает до сих пор. Потому, вместо изобретения велосипеда я использую его, за неимением лучшего. Тем более что он ни разу не давал сбоев. Вот сам скрипт:

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Теперь, когда мы определились с тем, каким способом будем получать IP-адрес, приступим к написанию скрипта для получения IPv6-, MAC- адресов, а также имени сетевого интерфейса.

Получение информации об активном сетевом интерфейсе

Создадим класс NetInfo,который при инициализации будет получать необходимые данные в зависимости от операционной системы. Здесь мы определяем платформу с помощью модуля system библиотеки platform и в зависимости от этого запускаем тот или иной скрипт.

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Двигаемся дальше. Создадим функцию для получения локального IP-адерса и объявим ее статическим методом, так как в ней не используются переменные класса.

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Напишем функцию mac_iface_win(self) в которой выполним получение нужных нам параметров. Для этого мы будем использовать возможности командной строки Windows, с частности инструмент командной стоки wmic. В частности будем использовать псевдоним NICCONFIG, который используется для управления сетевыми адаптерами. Отфильтруем только активные сетевые адаптеры. А их может быть в системе несколько, включая виртуальные: IPEnabled=true . После этого получим MAC – и IP – адреса используя GET MACAddress, IPAddress /FORMAT:csv, с указанием вывода полученных значений в формате csv для того, чтобы нам было проще их распарсить.

Вот полный вид данной команды:

wmic NICCONFIG WHERE IPEnabled=true GET MACAddress, IPAddress /FORMAT:csv

После того, как мы получим список активных сетевых адаптеров, поитерируемся по нему в цикле и проверим, есть ли в данном списке адаптер, IP-адрес которого равен полученному ранее локальному адресу. Если есть, забираем MAC-адрес, а также IPv6 адрес, если он не отключен в системе.

После того, как мы получим необходимые данные, выполним команду getmac /FO csv /NH /V с помощью которой получим список сетевых интерфейсов. Также в цикле проитерируемся по нему и будем проверять, есть ли уже полученный MAC-адрес в строке с параметрами интерфейса. Если есть, забираем название сетевого интерфейса.

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Если в предыдущей функции мы получили данные для сетевого интерфейса в ОС Windows, то следует также написать аналогичную функцию и для Linux. Поэтому создадим функцию mac_iface_lin(self). В ней кода будет поменьше, так как в командах Linux содержится больше информации в одном месте и ее легче распарсить. Команда, которую мы будем использовать выглядит следующим образом:

ip -h -br a | grep UP

Здесь мы получим название сетевого интерфейса и IPv6-адрес. В Linux данный адрес можно получить, даже если он отключен в настройках адаптера.
После этого выполним похожую команду, но уже отфильтруем из ее вывода MAC-адрес:

ip a | grep ether | gawk '{print $2}'

Осталось только свести написанный код, если вы этого еще не сделали воедино.

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Итак, продолжим. Полный код скрипта выглядит следующим образом:

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост
Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Теперь необходимо протестировать его в операционных системах. В данном случае у меня доступны две системы: Windows 10 и Linux Mint.

Создадим в данном скрипте вызов нашего класса и выведем в терминал полученные параметры:

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

Для начала, запустим в ОС Windows:

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

А теперь то же самое в Linux Mint:

Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python Windows, Linux, Программирование, Python, Код, Скрипт, Рекомендации, IT, Длиннопост

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

Спасибо за внимание. Надеюсь, данная информация будет вам полезна

Код можно посмотреть тут!

Наши тг каналы, подпишись!

Показать полностью 12
1

Топ-5 лучших Hex редакторов для Linux

Топ-5 лучших Hex редакторов для Linux IT, Linux, Подборка, Рекомендации, Программное обеспечение

1. Hexedit - это простой редактор в командной строке. Он предлагает базовые функции редактирования:

• Поддержка работы в командной строке.

• Возможность работать с файлами любого размера.

2. Ghex - это простой в использовании  редактор рабочего стола Gnome:

• Поддержка базавого редактирования

• Поддержка плагинов

3. Okteta - это универсальный редактор, который может редактировать разные типы файлов:

• Поддержка плагинов

• Сравнение файлов

• Возможность редактирования файлов в сжатом виде

4. Bless - это легкий и быстрый редактор с минималистичным интерфейсом:

• Поддержка основных функций редактирования

• Поиск и замена

• Небольшой размер

5. xxd - это мощный hex редактор, входящий в состав большинства дистрибутивов Linux:

• xxd имеет интерфейс командной строки

• Является частью vim

+ Бонус:

Бесплатный онлайн hex редактор - HexEd.it. Инструмент, который работает в веб-браузере. Он позволяет анализировать и редактировать бинарные файлы где угодно.

Подписывайся на нас в телеграме!

Показать полностью 1
11

Топ-4 инструмента для мониторинга сетевой активности

Топ-4 инструмента для мониторинга сетевой активности Информационная безопасность, IT, Хакеры, Подборка, Рекомендации, Сети, Длиннопост

1. Wireshark - это анализатор, который позволяет вам видеть, что происходит в вашей сети в режиме реального времени. Он поддерживает широкий спектр протоколов и может быть использован для мониторинга сетевой активности, а также для обнаружения и устранения проблем с сетью.

С его помощью можно анализировать и расшифровывать сетевой трафик, включая HTTP-запросы и защищённый трафик через SSL/TLS, с помощью специфических фильтров (по IP-адресам, номерам портов, протоколам) и логических операторов.

Плюсы:

- Бесплатный и открытый исходный код.

- Поддержка широкого спектра протоколов.

- Возможность анализа пакетов в режиме реального времени.

Минусы:

- Требует некоторого уровня технической подготовки.

2. Nagios - инструмент для мониторинга сетевой активности, который позволяет вам отслеживать состояние сетевых устройств, серверов и приложений. Он может быть настроен для отправки уведомлений о предупреждениях и оповещений при обнаружении проблем с сетью.

Nagios поддерживает мониторинг широкого спектра сетевых сервисов (SMTP, POP3, HTTP и т.д.) и ресурсов серверов (загрузка процессора, используемое дисковое пространство), предоставляя возможность создавать собственные обработчики событий для автоматического реагирования на проблемы. Управление производится через веб-интерфейс, доступ к которому ограничивается с помощью механизма аутентификации.

Для настройки системы необходимо правильно сконфигурировать ряд файлов, описывающих хосты, сервисы, группы контактов для уведомлений и команды проверки сервисов. Процесс требует тщательного внимания к деталям, так как ошибки в описании хостов или сервисов могут привести к невозможности запуска Nagios.

После настройки и успешного запуска, Nagios предоставляет администратору детальный контроль над состоянием сетевой инфраструктуры, возможностью просматривать активные события и историю изменений.

Плюсы:

- Бесплатный и открытый исходный код.

- Поддержка широкого спектра сетевых устройств и приложений.

- Возможность настройки уведомлений и оповещений.

Минусы:

- Сложно масштабировать для больших сетей.

3. ManageEngine OpManager - инструмент, который предоставляет детальную информацию о состоянии сети, включая уровень загрузки, пропускную способность и время отклика. Он может быть настроен для отправки уведомлений и оповещений при обнаружении проблем с сетью.

Также позволяет пользователям анализировать проблемы маршрутизатора, проверять пропускную способность и доступность каналов. Программа обеспечивает визуализацию сетей для выявления сбоев и зон с пониженной производительностью, а также анализ сетевого трафика для отслеживания использования сети и активности пользователей. Дополнительно, OpManager предлагает создание 3D-моделей центров обработки данных для мониторинга производительности устройств в реальном времени.

Плюсы:

- Предоставляет детальную информацию о состоянии сети.

- Возможность настройки уведомлений и оповещений.

- Поддержка широкого спектра сетевых устройств и приложений.

Минусы:

- Платный.

4. PRTG Network Monitor - предоставляет информацию о состоянии сети, включая уровень загрузки, пропускную способность и время отклика. Он может быть настроен для отправки уведомлений и оповещений при обнаружении проблем с сетью.

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

Плюсы:

- Предоставляет детальную информацию о состоянии сети.

- Возможность настройки уведомлений и оповещений.

- Поддержка широкого спектра сетевых устройств и приложений.

Минусы:

- Платный.

#подборка#софт#программа#обзор#информационная_безопасность#сети

Подписывайся на наш телеграм канал, у нас много полезного!

Показать полностью
8

Получение адреса по координатам с помощью Python

Получение адреса по координатам, довольно полезная функция, которую можно использовать в различных целях. Например, вам скинули геолокацию. Можно сделать телеграм-бота, отправить ему полученные данные и в ответ получить адрес. Данный функционал можно реализовать на Python. Давайте посмотрим, как это можно сделать.

Получение адреса по координатам с помощью Python IT, Программирование, Python, Разработка, Программист, Гайд, Обзор, Длиннопост

Для получения адреса по геолокации будем использовать библиотеку geopy. В ней реализованы классы для работы с сервисами геокодирования, такими как OpenStreetMap Nominatim, Google Geocoding API (V3) и многими другими. В нашем коде мы будем использовать OpenStreetMap, так как его использование бесплатно и не требует получения дополнительных ключей.

Установка библиотеки

Для установки библиотеки пишем в терминале команду:

pip install geopy

Импорт модулей в скрипт

После того, как библиотека будет установлена, необходимо импортировать модули для работы с ней в скрипт. Пишем следующий код:

Получение адреса по координатам с помощью Python IT, Программирование, Python, Разработка, Программист, Гайд, Обзор, Длиннопост

Получаем адрес по координатам. Обратное геокодирование

Создадим функцию get_addr(location: list) -> str, которая на входе получаем широту и долготу в виде списка, а возвращает адрес в виде строки. В случае ошибки будет возвращен текст «Unknown».

Получение адреса по координатам с помощью Python IT, Программирование, Python, Разработка, Программист, Гайд, Обзор, Длиннопост

После этого инициализируем класс Nominatim и передаем в него user_agent. Здесь использование какого-то специализированного агента не принципиально и можно просто передать «GetLoc». Если мы заглянем в параметры данного класса, то увидим, что в него, кроме user_agent можно передать таймаут, прокси и еще множество других параметров, которые в данном случае не принципиальны.

Получение адреса по координатам с помощью Python IT, Программирование, Python, Разработка, Программист, Гайд, Обзор, Длиннопост

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

Запрос координат у пользователя. Вывод полученного адреса в терминал

Создадим функцию main(), в которой будем запрашивать широту и долготу у пользователя. После передадим их в функцию get_addr и выведем полученный результат в терминал. Здесь необходимо немного обработать полученные данные, так как они возвращаются в обратном порядке, начиная с номера дома и заканчивая страной. Поэтому, добавлена обратная сортировка, разбиение строки по запятой в список и обратное его объединение.

Получение адреса по координатам с помощью Python IT, Программирование, Python, Разработка, Программист, Гайд, Обзор, Длиннопост

Тестирование функции

Протестируем написанный код. Возьмем произвольные координаты объекта с Яндекс.Карты и введем в запросе скрипта. В ответе мы видим полученный адрес, который совпадает с тем, что указан на Картах.

Получение адреса по координатам с помощью Python IT, Программирование, Python, Разработка, Программист, Гайд, Обзор, Длиннопост

Итог:

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

Ссылка на код тут!

Наши телеграм каналы

Показать полностью 6
16

Что ж еще

Что ж еще Информационная безопасность, IT, Хакеры, Мемы, Юмор, Telegram (ссылка), Демотиватор

Источник

8

4 инструмента для тестирования безопасности вашей базы данных

4 инструмента для тестирования безопасности вашей базы данных Информационная безопасность, IT, Технологии, База данных, Github, Инструменты, Тестирование, Подборка, Рекомендации

1. SQLMap - Это автоматизированный инструмент для тестирования проникновения, который позволяет обнаруживать и эксплуатировать уязвимости SQL инъекций в веб-приложениях. SQLMap поддерживает широкий спектр баз данных, включая MySQL, Oracle, PostgreSQL и другие.

SQLMap может тестировать уязвимости в параметре "id" веб-страницы. С помощью него также можно эффективно обнаружить и эксплуатировать SQL-инъекции, способствуя улучшению безопасности данных. Инструмент предлагает различные типы инъекций и подробно проанализирует технологии веб-приложения, обеспечивая комплексное тестирование безопасности базы данных.

Плюсы:

- Поддержка многих баз данных.

- Гибкие опции для различных уровней тестирования.

Минусы:

- Сложно анализировать большой объем вывода.

- Требует некоторого уровня технической подготовки.

- Его могут обнаружить некоторые системы безопасности.

2. NoSQLMap - Этот инструмент нацелен на автоматизацию эксплуатации и обнаружение уязвимостей в NoSQL-базах данных. Если ваша организация использует такие системы как MongoDB, CouchDB или другие NoSQL решения, NoSQLMap станет вашим незаменимым помощником.

Плюсы:

- Автоматизация тестирования безопасности систем NoSQL.

- Помогает выявлять распространенные уязвимости.

Минусы:

- Ограниченный набор поддерживаемых баз данных по сравнению с SQLMap.

3. DataSunrise Database Security - DataSunrise включает в себя механизмы обнаружения угроз, маскировку данных и аудит, обеспечивая комплексную защиту баз данных в режиме реального времени. Поддерживается работа с популярными облачными провайдерами и базами данных.

Плюсы:

- Комплексная защита баз данных с функциями обнаружения угроз, маскировки данных и аудита.

- Предлагает функцию регистрации каждой транзакции SQL.

Минусы:

- Платный.

- Сложная установка и настройка.

4. Greenbone Security Manager (GSM) - GSM представляет собой решение для управления уязвимостями, которое охватывает не только тестирование баз данных, но и широкий спектр IT-инфраструктуры. Этот инструмент помогает находить, классифицировать и устранять уязвимости.

Включает в себя OpenVAS, средство активного мониторинга узлов сети и управления уязвимостями. Предлагает мультисканерную архитектуру и удобный веб-интерфейс для анализа результатов сканирования, делая процесс управления уязвимостями более эффективным.

Плюсы:

- Широкий спектр функций для управления уязвимостями в IT-инфраструктуре.

Минусы:

- Сложность в освоении для новых пользователей.

Подпишись на наш канал по информационной безопасности, там много полезного!

Показать полностью
6

Получение закладок из chromium-based браузеров с помощью Python

Почти все браузеры, основанные на chromium, хранят закладки похожим образом. Меняются только директории, в которые эти браузеры установлены. Исключением является только Mozilla Firefox. При этом закладки хранятся в открытом виде, так что, любой желающий может получить к ним доступ. Не сказать, чтобы это была супер секретная информация. Но все же, стоило бы продумать этот момент. В данной статье мы рассмотрим код, который в автоматизированном режиме получает все закладки из распространенных браузеров с помощью Python.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Мы в телеграме!

Поиск установленных браузеров

Создадим файл browser_check.py. В нем, напишем код, который будет производить поиск браузеров по пути указанному в одном из словарей.

Импортируем необходимые библиотеки для работы скрипта и определим список, в который будем помещать словари с найденными браузерами:

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Следующим шагом будет создание двух словарей, в которые поместим пути к распространенным браузерам на операционных системах Windows и Linux, так как поиск браузеров будет производиться по путям, которые специфичны для каждой из операционных систем.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Создадим функцию browser_find(platform: dict) -> None, которая на входе будет получать словарь с путями к закладкам браузеров и проверять их существование. Если путь существует, в объявленный ранее список browser будет добавляться словарь с названием браузера и путем к его закладкам.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

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

Двигаемся далее и создадим функцию main, в которой будем определять платформу, на которой запущен скрипт. В принципе, если у вас MacOS, то нужно добавить еще один словарь с путями и условие, в котором определяется ваша система. Но, в данном случае детектируются только две операционные системы: Windows и Linux.

В зависимости от того, какая из систем установлена на компьютере с запущенным скриптом, забираем нужный словарь с путями к закладкам и передаем его в функцию browser_find, которую напишем в отдельном файле.

После этого проверяем, есть ли что-то в списке с браузерами. Если список пуст, выводим сообщение для пользователя, что браузеры не найдены. Если же список не пуст, итерируемся по нему в цикле, забираем словари и получаем название браузера, которое содержится в переменной key и путь к закладкам, содержащийся в переменной value.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Передаем полученное значение в функцию по парсингу json. На самом деле, файл с закладками, это json-файл с достаточно большой структурой вложенности.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Часть структуры файла закладок

В зависимости от того, что вернет функция парсинга, а возвращает она или список со словарями, в которых содержаться полученные значения или False, двигаемся дальше. Если мы получаем список, то открываем файл с названием браузера на запись. Обратите внимание на то, что в данном случае файл открыт в режиме дозаписи, о чем свидетельствует параметр «a». Затем итерируемся по полученному списку, забираем из словарейОбратите внимание на ветку «roots», в которой и находятся все закладки. Так как закладки в браузере, это не просто последовательный набор названий и ссылок, то их группировка происходит по директориям создаваемым пользователем. Данные директории имеют название «children» и имеют тип «folder». Также, к примеру, на Панели закладок могут быть как директории с закладками, так и просто закладки для быстрого доступа. Тип закладок без папок «url».

Создадим файл bookmarks_find.py и приступим к написанию кода. Для начала импортируем библиотеки, которые понадобятся в данном скрипте.

import json

Создадим функцию rec(file: str) -> (list, bool), в которую передается путь к закладкам браузера. Возвращает же данная функция список со словарями, в которых содержится имя и url закладки. В случае же, если закладки найти не удалось, возвращается False.

Объявляем список urls, в который будем помещать найденные закладки в виде словарей. Откроем файл с закладками для чтения, поместим его содержимое в переменную roots.

Так как значение данной переменной будет являться словарем, проитерируемся по нему в цикле, указав ветку «roots» в качестве стартовой. Получим ключ и значение и проверим, есть ли в нем название «children». Если да, передаем полученную ветку в функцию process_tree, которую мы создадим чуть позже для обработки. Также передаем в эту функцию список urls. По сути, при передаче списка, если вспомнить его свойства, мы передаем указатель на оригинальный список, так как его копирования в данном случае не происходит. А значит, при его изменении в других функциях измениться и оригинальный словарь.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

После того, как завершим итерацию по файлу, проверяем, пуст или нет список. Если список не пуст, возвращаем его из функции. Если пуст - возвращаем False.

Теперь создадим функцию process_tree(children_ist: dict, urls: list) -> None, которая получает на входе словарь из полученной директории и указатель на список, в котором будут храниться найденные ссылки в виде словарей.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Здесь все просто. Данная функция как переходник, в котором мы итерируемся по полученному словарю и передаем полученные значения в следующие функции для обработки.

Создадим функцию process_urls(item: dict, urls: list) -> None, которая на входе получает словарь со значениями и ссылку на список. У данной функции предназначение – выявить ссылки в переданном словаре. Для этого проверяем, есть ли в переданном словаре ключ «type» и является ли его значение «url». Если да, забираем название ссылки и саму ссылку и добавляем в виде словаря в список urls.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

И еще одна функция, которая будет необходима для проверки, не является ли полученный словарь директорией со ссылками «children». Создадим функцию process_folders(item: dict, urls: list) -> None, которая на входе получает словарь со значениями и ссылку на список.

Здесь все тоже просто, проверяем, есть или нет «children» в переданном словаре. Если есть, передаем его рекурсивно в функцию process_tree для дальнейшей обработки.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Полный код скрипта:

import json

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

На этом вроде бы все. Основные скрипты и функции написаны, осталось только проверить, как это будет работать.

Открываем терминал и запускаем скрипт:

Если у вас Windows:

python browser_check.py

Если Linux:

python3 browser_check.py

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

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Сообщения в терминале

Если скрипт найдет браузеры в системе, в директории скрипта будут созданы файлы с названиями найденных браузеров, в которых содержатся закладки.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Файлы с найденными закладками

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

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Содержимое файла с найденными закладками

Как видим, закладки найдены. За годы работы в данном браузере их накопилось чуть более 3000. Конечно же, показывать все я не буду, потому, только самое начало, для того, чтобы убедиться, что скрипт работает.

Скрипт работает как на Windows, так и на Linux. Вот скрин с работой скрипта в Fedora Workstation, в которой браузеры установлены по умолчанию, с помощью пакетов.

Получение закладок из chromium-based браузеров с помощью Python IT, Код, Python, Программирование, Программист, Linux, Windows, Длиннопост

Работа скрипта в Fedora Workstation

Подведем итоги:

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

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

А на этом все. Спасибо за внимание.

Скрипты можно взять тут!

Наш канал по программированию, полезные статьи, бесплатные курсы, все в одном канале!
Подпишись!

Показать полностью 15

Оформить подписку для бизнеса

Перейти

Ваш бизнес заслуживает большего!

Оформляйте подписку Пикабу+ и получайте максимум возможностей:

Ваш бизнес заслуживает большего! Малый бизнес, Предпринимательство, Бизнес

О ПОДПИСКЕ

1

Как защитить организацию от атак на основе supply chain attack

Как защитить организацию от атак на основе supply chain attack Информационная безопасность, IT, Технологии, Атака, Взлом, Хакеры, Антивирус, Защита

Атаки через цепочку поставок (supply chain attack) стали одним из самых серьезных рисков для организаций разного масштаба. Эти атаки осуществляются через компрометацию программного обеспечения или оборудования на каком-либо этапе поставки, что позволяет злоумышленникам получить доступ к целевым системам.

Стратегии защиты:

1. Аудит и мониторинг поставщиков

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

2. Многофакторная аутентификация (МФА)

Используйте МФА для доступа к системам и данным. Это повышает безопасность путем добавления дополнительного уровня проверки подлинности.

3. Обновление и патчинг ПО

Следите за обновлениями безопасности и софта, которые вы получаете от своих поставщиков. Регулярно устанавливайте патчи безопасности для избежания известных уязвимостей.

4. Сегментация сети

Разделите корпоративную сеть на сегменты, чтобы контролировать доступ и ограничить потенциальный ущерб от атак.

5. Обучение сотрудников

Проводите семинары и тренинги для сотрудников о потенциальных угрозах и методах их предотвращения. Осведомленный персонал значительно снижает риски безопасности.

6. Инцидентное реагирование

Разработайте и протестируйте план реагирования на инциденты, чтобы быстро и эффективно справляться с возможными атаками.

7. Использование инструментов безопасности

Поддерживайте защиту на высоком уровне с помощью антивирусов, систем предотвращения вторжений и других инструментов безопасности.

Наш канал по информационной безопасности в телеграме, подпишись!

Показать полностью
Отличная работа, все прочитано!