Использование socat в Linux: мощный швейцарский нож для сетевых задач
В мире Linux существует множество утилит для работы с сетью, но одна из самых универсальных — это socat. Её часто называют сетевым швейцарским ножом, и не зря: socat позволяет проксировать трафик между самыми разными источниками и приёмниками, будь то TCP, UDP, сокеты, терминалы, файлы и даже стандартный ввод/вывод. Каждый день на канале выходят полезные и интересные материалы по темам Linux, IT и Opensource. Если вы еще не подписаны, то самое время сделать это! socat (SOcket CAT) — это утилита командной строки, предназначенная для двусторонней передачи данных между двумя точками...
2 недели назад
⚡️ Linux может читать сетевые пакеты почти напрямую
В Linux можно открыть raw socket и увидеть пакеты, которые приходят на сетевую карту. Без Wireshark. Без libpcap. Без лишних инструментов. Пример из скрина делает простую вещь: 1. создаёт socket уровня AF_PACKET 2. просит у ядра все Ethernet-пакеты через ETH_P_ALL 3. в бесконечном цикле читает их через recvfrom 4. печатает размер каждого пакета То есть программа буквально говорит ядру: “Отдавай мне всё, что видит сетевой интерфейс.” И Linux отдаёт. Почему это круто? Потому что так становится понятно, что Wireshark - это не магия...
1 год назад
Как Linux создает сокеты и подсчитывает их
Автор оригинала: Ciro S. Costa Привет! Если у вас уже есть некоторый опыт работы с веб-серверами, то вам наверняка доводилось попадать в классическую ситуацию «адрес уже используется»‬ (EADDRINUSE). В этой статье будут подробно разобраны не только предпосылки, позволяющие судить, случится ли в ближайшей перспективе такая ситуация (для этого достаточно просмотреть список открытых сокетов), но и будет рассказано, как можно прослеживать конкретные пути кода в ядре (где происходит такая проверка). Если...
3 года назад
Утилита ss в Linux
Данная утилита пришла на замену net-tools о которой я писал ранее. Хотя в дистрибутиве Linux Mint 20.3 она еще поставляется. И так... С помощью утилиты ss можно использовать следующие опции: Кроме того, можно вывести сокеты только нужного протокола: Вывод списка всех соединений Базовая команда ss без каких-либо опций просто выводит список всех соединений независимо от их состояния: ss Вывод списка прослушиваемых так и не прослушиваемых портов Вы можете получить список как прослушиваемых, так и не...