Pull to refresh
4
0
Send message

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

Level of difficultyHard
Reading time29 min
Views94K

Бывало ли у вас такое, что вы подключились к общественной сети или мобильному интернету, но он себя странно ведёт. Надпись «Подключено, без доступа к интернету» отсутствует, устройство думает, что всё нормально. Вы открываете браузер и видите «Пройдите проверку личности в сети нашего кафе» или в случае с мобильным интернетом «Пополнить баланс можно тут, тут и тут».

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

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

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →
Total votes 233: ↑231 and ↓2+294
Comments91

Kubernetes Scheduler в Деталях: Ключевые Концепции. Часть 2

Level of difficultyHard
Reading time13 min
Views5.3K

В мире, где Kubernetes доминирует в управлении контейнеризированными приложениями, один вопрос часто встаёт перед теми, кто стремится понять его внутренние механизмы: 'Как на самом деле работает k8s scheduler?' Эта статья предназначена для развенчания мифов и предоставления чёткого объяснения работы Kubernetes планировщика. Мы исследуем ключевые моменты этого процесса, начиная от того, назначает ли планировщик модули узлам один за другим в очереди или выполняет эту задачу параллельно, и заканчивая более сложными аспектами его работы. Погрузитесь в детали этой сложной, но увлекательной темы вместе с нами, чтобы лучше понять, как Kubernetes оптимизирует размещение подов в вашем кластере

Погружение в Мир Kubernetes Scheduler
Total votes 14: ↑13 and ↓1+17
Comments1

Обзор книги «С++ 20 в деталях»: доступно, но не для джунов

Reading time8 min
Views21K

Привет, Хабр! Меня зовут Дмитрий Луцив, я работаю в СПбГУ на кафедре системного программирования, веду ряд IT-дисциплин на математико-механическом факультете в лабаратории компании YADRO и помогаю вузам актуализировать образовательные программы под задачи индустрии.

Я давно не программировал на С++, но стараюсь не отставать от изменений, происходящих в языке. Книга «C++ 20 в деталях» заинтересовала меня личностью автора (на секунду, это Райнер Гримм) и возможностью познакомиться с новым источником знаний о «плюсах». Решил ее прочитать, чтобы понять, кому материал будет полезен и могу ли я его рекомендовать. Под катом расскажу, что в книге хорошего, а что можно было бы сделать лучше, а также дам список дополнительных источников для специалистов разного уровня.

Читать далее
Total votes 27: ↑27 and ↓0+27
Comments14

Как стать гуру или WiFi Cheat Sheet

Level of difficultyMedium
Reading time21 min
Views36K

А что мы знаем про пентест Wi-Fi?

Кажется, что уже всё, но вот на offzone 2023 была представлена атака WPA‑E (Надеюсь, в скором времени выложат запись и pdf) и я задумался, а так ли всё хорошо с моими знаниями... Нет, я всё с концами оставил на старых ЖД и где‑то далеко в памяти, пришлось восстанавливать по крупицам всю информацию. Заметки, время и старания — главное составляющее статьи.

Этот документ больше похож на чек‑лист для самопроверки и может содержать полезные советы и хитрости, за основу я взял структуру «WiFi Penetration Testing Cheat Sheet». Я очень благодарен автору, но он забросил вести данную шпаргалку и многие вещи устарели.

Все было протестировано на Kali Linux v2023.1 (64-битной версии), а также проработано на реальном опыте проведения тестирования на проникновение Wi‑Fi и в лабораторных условиях.

Пора ознакомиться
Total votes 29: ↑28 and ↓1+35
Comments10

Краткое введение в BPF и eBPF

Reading time9 min
Views23K
Привет, Хабр! Сообщаем, что у нас готовится к выходу книга "Linux Observability with BPF".


Поскольку виртуальная машина BPF продолжает эволюционировать и активно применяется на практике, мы перевели для вас статью, описывающую ее основные возможности и состояние на настоящее время.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments3

Два мира виртуальных машин

Reading time18 min
Views39K
Виртуальный. В отличие от большинства модных компьютерных словечек, это понятие обычно соответствует своему словарному определению в тех случаях, когда речь идёт об аппаратуре или программах. Словарь «Random House College Dictionary» определяет «virtual» как «проявляющий свойства и эффекты чего-либо, но не являющийся таковым на самом деле».
Оригинал
Virtual. Unlike most computer buzzwords, this one usually holds true to its dictionary definition when it refers to hardware or software. The Random House College Dictionary defines «virtual» as «being such in force or effect, though not actually or expressly such.» [4]
Последние несколько лет в начале каждого семестра я даю студентам определения основных терминов, используемых в моём курсе: симуляция, эмуляция и виртуализация. И каждый раз я говорю, чтобы мои слова не принимали за стопроцентную правду. Дело в том, что в одних областях технического знания эти термины зачастую трактуются противоположно тому, что принято использовать в других. Нелёгкое это дело — давать определения.

Видимо, эту проблему заметил не только я. В своей книге Software and System Development using Virtual Platforms, вышедшей в прошлом году, мои коллеги Jakob Engblom и Daniel Aarno в первой главе вводят понятия simulation и emulation и отмечают неоднозначность их толкования в областях разработки программного обеспечения и проектирования аппаратуры.

С беспорядком в толковании этих двух терминов я для себя разобрался и вроде бы смирился. Осталось ещё одно понятие, уже более десяти (на самом деле пятидесяти) лет не теряющее популярности — это «виртуализация». За время своего бытия в категории «buzzword» оно стало сочетаться со множеством других слов. Недавно я осознал, что термин «виртуальная машина» (ВМ) на самом деле используется для обозначения двух хоть и связанных, но различных сущностей. В этой статье я расскажу о двух классах: языковые и системные виртуальные машины. Я покажу сходства и различия между ними, их назначение, классификацию, общие и частные черты в их практической реализации.


Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments5

Малоизвестные возможности языка C

Reading time4 min
Views24K

Если у вас несколько лет опыта программирования на языке C, то, вероятно, вы гораздо более уверены в своих знаниях этого языка, чем если бы вы провели столько же времени, работая с C++ или Java. И язык C, и его стандартная библиотека довольно близки к к минимально возможному размеру.

Текущая наиболее часто используемая версия языка, c99, принесла много новых возможностей, многие из которых совершенно неизвестны большинству программистов на C (в более старых спецификациях, очевидно, тоже есть свои темные уголки).

Читать далее
Total votes 72: ↑68 and ↓4+79
Comments22

Пишем на Go как в Google. Лучшие практики — часть первая

Level of difficultyEasy
Reading time12 min
Views23K

Рекомендации по стилю для проектов Google с открытым исходным кодом


Лучшие практики Go


Этот документ — часть документации по стилю Go в Google. Он не является ни нормативным, ни каноничным, это дополнение к «Руководству по стилю». Подробности смотрите в Обзоре.


О документе


Здесь приведены рекомендации по лучшим практикам применения требований «Руководства по стилю» для Go. Это руководство охватывает общие и распространенные случаи, но не может применяться к каждому частному случаю. Обсуждение альтернатив, по возможности, включено в текст руководства вместе с указаниями о том, когда они применимы, а когда — нет.


Полная документация руководства по стилю описывается в обзоре.

Читать дальше →
Total votes 8: ↑4 and ↓4+3
Comments8

Реализация алгоритма SHA-256

Level of difficultyEasy
Reading time8 min
Views41K

SHA(Алгоритмы безопасного хеширования) – это семейство криптографических хэш-функций, способных принимать сообщения произвольной длины и вычислять уникальный хэш-код фиксированной длины. Хэш-код SHA может быть использован для проверки целостности сообщения, а также для генерации цифровой подписи сообщения. На данный момент существует несколько стандартов безопасного алгоритма, каждый последующий включает более надёжные хэш-функции:

Читать далее
Total votes 25: ↑24 and ↓1+25
Comments14

Как добиться эталонного качества передачи голоса через интернет

Level of difficultyMedium
Reading time10 min
Views8K

Голосовая связь с нами давно: первые телефоны изобрели ещё в конце 19-го века, а мобильные — в середине 20-го. В начале 2000-х начал набирать популярность ещё один способ связи — интернет-звонки. Идея по сути та же — общаться на расстоянии, только ещё проще и дешевле. Плюс онлайн-звонки дают много дополнительных функций: от возможности видеть собеседников по видеосвязи до формата, когда вы вместе смотрите кино, находясь в разных точках планеты. Технологии идут вперёд, и тем не менее мы снова и снова переспрашиваем: «Слышно меня?».

Разберёмся в статье с вопросами качества передачи голоса в звонках. Например, почему может быть плохо слышно того, кто звонит из автомобиля? В чём особенность использования динамиков вместо наушников? Что происходит со звуком участника звонка, если у него плохой интернет? Можно ли измерить качество звука в цифрах? Ответы под катом.

Читать далее
Total votes 29: ↑27 and ↓2+38
Comments7

Книга «Идиомы bash»

Reading time13 min
Views11K
image Привет, Хаброжители!

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

Авторы Карл Олбинг (Carl Albing) и Джей Пи Фоссен (JP Vossen) покажут, как использовать мощь и гибкость командной оболочки. Даже если вы умеете писать сценарии на bash, эта книга поможет расширить ваши знания и навыки. Независимо от используемой ОС — Linux, Unix, Windows или Mac — к концу книги вы научитесь понимать и писать сценарии на экспертном уровне. Это вам обязательно пригодится.

Вы познакомитесь с идиомами, которые следует использовать, и такими, которых следует избегать.
Читать дальше →
Total votes 11: ↑10 and ↓1+11
Comments9

Алгебра анонимных сетей

Level of difficultyHard
Reading time15 min
Views7.5K

В настоящее время существует огромное количество всеразличного рода анонимных (скрытых) сетей, начиная с теоретически доказуемых (DC-сети, Queue-сети, Entropy-сети) и заканчивая практически используемыми (Tor, I2P, Mixminion). При таком количестве реализаций было бы очень удобно обобщить структуру всех таковых систем и привести их к общим составляющим. В результате подобных действий, мы сможем не только лучше понять то, как строятся современные анонимные сети, но и то, как их можно улучшать.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments1

Алгоритм Diffie-Hellman: Ключ к безопасному общению

Level of difficultyMedium
Reading time6 min
Views32K

Всем привет!

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

Сегодня я хочу рассказать вам о волшебном алгоритме, который стоит за безопасным общением в интернете, и, в частности, в нашем любимом мессенджере - Telegram. Этот алгоритм называется алгоритмом Диффи-Хеллмана, и его история начинается в далеком 1976 году. На этом с историей закончим ?

Читать далее
Total votes 13: ↑10 and ↓3+12
Comments11

Понимаем обычное дерево отрезков

Level of difficultyMedium
Reading time13 min
Views13K

Всем привет! Изучив несколько статей по этой теме, у меня остались вопросы, и некоторые моменты по-прежнему были не понятны, поэтому я решил написать свою, которая, как мне кажется, была бы понятна тем, кто не силен в спортивном программировании. В ней я объясняю, как устроено дерево отрезков. Примеры с кодом будут приведены на языке C++, однако на объяснение это не влияет.

Читать далее
Total votes 20: ↑19 and ↓1+24
Comments4

KVM: Что такое Kernel-based Virtual Machine?

Level of difficultyMedium
Reading time17 min
Views56K

Начнем с простого вопроса:

Что означает QEMU/KVM или QEMU-KVM?

Можно ответить - это QEMU + KVM или qemu-system, запущенный с kvm в качестве ускорителя. Но в какой-то степени это еще и анахронизм, так как с появлением KVM его разработчики для интеграции с QEMU поддерживали отдельный форк qemu-kvm, но начиная с QEMU версии 1.3 (декабрь 2012) все основные изменения из qemu-kvm были перенесены в главную ветку QEMU, а qemu-kvm объявлен устаревшим.

В разных дистрибутивах до сих пор еще можно встретить исполняемый файл qemu-kvm или просто kvm, но это лишь обертки над qemu-system:

exec qemu-system-x86_64 -enable-kvm "$@"

или симлинки:

/usr/bin/kvm -> qemu-system-x86_64

А в самом qemu существует проверка:

Читать далее
Total votes 81: ↑81 and ↓0+81
Comments9

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 1. Подготовка рабочего стенда

Reading time5 min
Views80K

Приветствую тебя, дорогой читатель в самой первой вводной части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

Идеей, побудившей меня к написанию данной серии статей является мое желание поделиться собственным опытом в области тестирования на проникновение в рамках проводимых мной аудитов информационной безопасности финансовых организаций, и попытаться осветить важные, на мой взгляд, ключевые моменты касаемо подхода, инструментов, приемов и методов. Конечно же в сети очень много статей и книг посвященных данной теме (например, замечательная книга Дениела Г. Грэма «Этичный хакинг. Практическое руководство по взлому» или «Kali Linux. Тестирование на проникновение и безопасность» - труд целого коллектива высококлассных специалистов), программы курсов от Offensive Security, EC-Council, но далеко не у всех есть материальные возможности оплачивать дорогостоящие курсы, а в дополнение к учебникам хотелось бы больше практических примеров основанных на чьем-то опыте.

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

Мы будем использовать подход максимально приближенный к сценариям атак проводимых злоумышленниками, а также вдоволь попрактикуемся на отдельных примерах и разберем такие темы как разведка и сбор информации (footprinting), сканирование ресурсов с целью обнаружения известных уязвимостей, применение эксплоитов из базы Metasploit framework для получения доступа к системе, повышение привилегий до уровня root-пользователя за счет уязвимого ПО (privilege escalation), рассмотрим методы социальной инженерии, сетевые атаки канального уровня (MAC-spoofing, ARP-spoofing, DHCP starvation), способы атак на веб-сервера, перехват и анализ трафика с помощью сетевых снифферов и многое другое.

Читать далее
Total votes 24: ↑20 and ↓4+16
Comments31

Методы обфускации трафика. Гомоморфное шифрование

Reading time3 min
Views6.8K

Схема гомоморфного шифрования (HE)

В последнее время на Хабре всё чаще поднимается тема обфускации/маскировки трафика. Для этих целей разработаны различные инструменты и методы, такие как Pluggable Transports и Project V. Но особый интерес привлекают схемы с использованием FHE (полностью гомоморфного шифрования), поскольку это самый передовой рубеж развития криптографической науки.

Если в двух словах, FHE позволяют производить вычисления над зашифрованными данными без их расшифровки. Это открывает совершенно новые возможности. Например, можно обрабатывать на сервере конфиденциальные данные пользователей без их раскрытия серверу.
Читать дальше →
Total votes 15: ↑13 and ↓2+13
Comments9

Почему книга Эндрю Таненбаума «Архитектура компьютера» вредна для образования

Reading time4 min
Views86K

Сегодня взял в руки книжку Эндрю Таненбаума "Архитектура компьютера" (последнее издание на русском языке вышло в 2018 году). Я ее пролистывал лет 10 назад, но сегодня решил пролистать снова, чтобы быть абсолютно уверенным в том что я напишу ниже. А именно: это книжка была вредна для образования. Она плодила не инженеров-проектировщиков, а потенциальных игроков для телевикторины "Что-Где-Когда?" и спорщиков-всезнаек на форумах интернета, которые могли рассуждать часами о микрокоде и джава-процессорах, нагибая собеседников своей эрудицией про очереди микроопераций (стр 291 4-го издания 2003-го года) и защелках в трактах данных (стр. 286), но при этом ничего не могли сделать своими руками.

Потому что (сначала мелкие придирки):
Total votes 51: ↑27 and ↓24+17
Comments123

Как данные передаются по радио?

Reading time5 min
Views50K
Привет, Хабр.

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



Попробуем разобраться, без формул и максимально просто, как можно передать данные из точки «А» в точку «В».
Читать дальше →
Total votes 49: ↑48 and ↓1+67
Comments34

Information

Rating
Does not participate
Registered
Activity