Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
🦈 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#ИБ