Метод строки split() разделяет строку на несколько строк по указанному символу
>>> "a_b_c".split('_')
['a', 'b', 'c']
Можно указать максимальное количество разделений
>>> "a_b_c".split('_', 1)
['a', 'b_c']
Или резать с другой стороны с помощью rsplit() (right split)
>>> "a_b_c".rsplit('_', 1)
['a_b', 'c']
А что будет если оставить аргументы пустыми?
>>> "a_b_c".split()
['a_b_c']
Получаем список с одним элементом, потому что по умолчанию используется пробельный символ.
>>> "a b c".split()
['a', 'b', 'c']
То есть это равнозначно такому вызову?
>>> "a b c".split(" ")
['a', 'b', 'c']
Кажется да, но нет! Давайте попробуем добавить пробелов между буквами
>>> "a b c".split(" ")
['a', '', '', 'b', '', '', 'c']
И вот картина уже не так предсказуема 😕
А вот что будет по умолчанию
>>> "a b c".split()
['a', 'b', 'c']
Всё снова красиво! 🤩
По умолчанию в качестве разделителя используется любой пробельный символ, будь то табуляция или новая строка. Включая несколько таких символов идущих подряд. А также игнорируются пробельные символы по краям строки.
>>> "a\t b\n c ".split()
['a', 'b', 'c']
Аналогичный способ можно собрать с помощью регулярного выражения. Но пробелы по краям строки придется обрабатывать дополнительно.
>>> import re
>>> re.split(r"\s+", ' a b c '.strip())
['a', 'b', 'c']
Здесь тоже можно указать количество разделений
>>> re.split(r"\s+", 'a b c', 1)
['a', 'b c']
А что если мы хотим написать красиво, то есть split() без аргументов, но при этом указать количество разделений? В этом случае первым аргументом передаём None
>>> "a\n b c".split(None, 1)
['a', 'b c']
Данный метод не учитывает строки с пробелами, взятые в кавычки
'a "b c" '.split()
['a', '"b', 'c"']
Но для таких случаев есть другие способы.
#tricks#basic
🦈 Wireshark profiles.
• Годнота для адептов Wireshark подъехала: репозиторий с кучей готовых профилей для анализа того или иного трафика.
• Использовать чрезвычайно просто — качаете zip нужного профиля по ссылке ниже, импортируете в Wireshark, выбираете сетевой интерфейс... profit. Да, вы можете самостоятельно накидать для себя нужные фильтры, но тут уже все сделали за Вас. Пользуйтесь!
➡️https://github.com/amwalding/wireshark_profiles
#Wireshark
🦈 Руководство по анализу трафика сети посредством Wireshark.
• Полезное руководство по использованию и изучению Wireshark для начинающих, которое поможет освоить данный инструмент и приступить к практике:
➡️https://habr.com/ru/post/735866/
• Хочу напомнить, что данный продукт пользуется заслуженной популярностью у вирусных аналитиков, реверс-инженеров, системных администраторов и, безусловно, специалистов в области информационной безопасности. Если нужен дополнительный материал, то Вы всегда сможете найти его по хештегу #Wireshark.
👩💻 PCAPdroid или Wireshark на минималках.
• Я уже давно заметил, что тема сетей и различные подборки информации по разным инструментам вызывают колоссальный интерес. ПО о котором сегодня пойдет речь не будет исключением. Речь идет о PCAPdroid, который имеет открытый исходный код и может в следующие сценарии использования:
➖ Анализ соединений, созданных приложениями установленными на устройстве (как пользовательскими, так и системными);
➖ Создание дампа сетевого трафика Android-устройства и его отправка на другое устройство для последующего анализа в стороннем приложении (например #Wireshark на ПК);
➖ Расшифровка HTTPS/TLS трафика конкретного приложения.
• Подробно описывать данный инструмент не буду, так как за меня это сделали разработчики: https://emanuele-f.github.io/PCAPdroid/ru/quick_start.html
• Ну, и напоследок — добрые люди с 4pda постоянно делятся полезными комментами и выкладывают новые версии с премиум функционалом. Скачать актуальную версию можно по ссылке: https://4pda.to
#Android#Wireshark
📲 Мобильник для перехвата чужих SMS сообщений.
• Есть такая занимательная статистика, которая демонстрирует топ самых продаваемых мобильных телефонов в истории. Первое место в этой статистике занимает Nokia 1100, а общее число продаж этого телефона перевалило за 250 миллионов. Вот Вам забавная история, которая случилась в далеком 2009 году...
• В процессе расследования дела о почтовом мошенничестве в Нидерландах полиция столкнулась с весьма интересным фактом – неизвестный покупатель отдал 25 тысяч евро за телефон Nokia 1100. Данная бюджетная модель была выпущена в конце 2003 г. и предназначалась для развивающихся рынков, а цена телефона составляла менее 100 евро.
• В попытках выяснить, почему хакеры готовы платить такие большие деньги за дешевый и внешне непримечательный аппарат, полиция обратилась к компании Ultrascan Advanced Global Investigations. Эксперты Ultrascan выяснили, что хакеров привлекают не все аппараты Nokia 1100, а только изготовленные на фабрике Nokia в г. Бохум (Германия).
• Эта серия аппаратов была признана бракованной из-за проблем в устаревшем программном обеспечении, созданном еще в 2002 г. За счет этого самого «брака» хакеры научились перехватывать чужие SMS сообщения, в частности, одноразовые коды для банковских транзакций — mTAN (mobile Transaction Authentication Number), которые европейские банки присылали своим клиентам по SMS.
• Таким образом, получается, что хакерам оставалось лишь подключить этот телефон (без какой бы то ни было перепрошивки) к снифферу наподобие #WireShark и дело в шляпе — можно перехватывать SMS, а затем перевести деньги на свой счет.
• Интересно заметить, что на момент инцидента (2009 год), компания Nokia продала во всем мире более 200 миллионов экземпляров Nokia 1100 и моделей на ее базе, однако количество уязвимых аппаратов остается неизвестным...
#Разное
• Оказывается, что у разрабов wireshark есть интересный инструмент (Stratoshark), который предназначен для облачных решений и позволяет анализировать системные вызовы. Функционал достаточно богатый и позволяет нам просматривать результат в UI, проводить анализ записей Falco и Sysdig OSS, использовать гибкую систему фильтрафии и менять отображение информации под ваши хотелки и потребности...
➡️ Вот тут более подробно: https://blog.wireshark.org/2025/01/those-arent-packets/
#Stratoshark#wireshark
• В интересное время живем... домашние гаджеты — от холодильника до чайника — поумнели настолько, что теперь нуждаются в постоянной проверке сетевого подключения. А что говорить о вашей ОС, которая живет своей жизнью и инициирует различные сетевые подключения в огромном кол-ве без вашего ведома?
• Трафик домашних устройств можно отслеживать и блокировать на маршрутизаторе, где есть функция файрвола. Для более продвинутого мониторинга традиционно используются сетевые снифферы. Самым известным является #Wireshark, но есть наиболее легкий инструмент и с наиболее приятным интерфейсом. Тулза называется Sniffnet. Наверное, это самый красивый инструмент сетевого мониторинга в настоящее время, причём у него на выбор есть четыре темы оформления. В остальном функции стандартные:
- Поддержка фильтров для наблюдаемого трафика;
- Просмотр общей статистики по интернет-трафику;
- Просмотр графиков интенсивности трафика в реальном времени;
- Подробная информация о доменах и сетевых провайдерах узлов, с которыми происходит связь;
- Идентификация соединений в локальной сети;
- Географическое положение удалённых узлов;
- Настройка пользовательских уведомлений для информирования о наступлении определённых сетевых событий;
- Просмотр сетевых подключений в реальном времени;
- Сохранение полного текстового отчёта с подробной информацией по каждому сетевому соединению:
➡IP-адреса источника и получателя;
➡Порты источника и назначения;
➡Используемые протоколы;
➡Количество переданных пакетов и байт;
➡Начальная и конечная временные метки обмена информацией.
• Если говорить простыми словами, то тулза позволяет подключаться к определенному сетевому интерфейсу и наблюдать его активность. Кстати, вы еще можете настроить нужные уведомления: по соединению с определенным ip или превышению лимита по частоте передачи пакетов. Есть кроссплатформенность (можно использовать на Linux, Mac или Windows). Ну и весь исходный код открыт, так что забираем по ссылке ниже и пользуемся:
➡️GitHub;
➡️Сайт проекта;
➡️Wiki проекта.
#Сети#Tools
• Нашел у себя в загашнике интересное видео (мини-курс на 4 часа), которому уже 5 лет, но многие темы до сих пор остаются актуальными. Тема видео: практические атаки на интерфейс USB. Если коротко, то мы разберем практические способы анализа USB-протоколов, железо и софт для отладки USB, а также специализированные инструменты для атак. К слову, авторами данного видео являются Павел Жовнер (создатель Flipper Zero) и Андрей Коновалов (инженер-программист из Google), так что рекомендую к просмотру.
• Описание материала:
➡Сниффинг и декодинг USB-пакетов с помощью логического анализатора; usbmon и #Wireshark; USBProxy Nouveau; OpenVizsla.
➡Демонстрация BadUSB атак с помощью оригинальных Rubber Ducky, Bash Bunny и Lan Turtle. BadUSB с помощью дешевых китайских аналогов Rubbery Ducky (ATtiny55, CJMCU, Cactus WHID) и Raspberry Pi Zero.
• Эмуляция USB-устройств стандартных классов:
➡С помощью фреймворка Facedancer на Facedancer21 и GreatFET One;
➡С помощью legacy модулей Gadget подсистемы (g_hid.ko и т.д.) и Composite Gadget фреймворка (FunctionFS/ConfigFS) на Raspberry Pi Zero.
• Эмуляция кастомизированных USB-устройств:
➡С помощью фреймворка Facedancer на Facedancer21 и GreatFET One;
➡С помощью legacy модулей Gadget подсистемы (GadgetFS и Raw Gadget) и Raspberry Pi Zero.
• Фаззинг USB-стека:
➡В виртуальных машинах с помощью syzkaller и vUSBf;
➡Физических устройств с помощью Facedancer21, GreatFET One и Raspberry Pi Zero.
#USB#Hack#ИБ