Добавить в корзинуПозвонить
Найти в Дзене
Машинное обучение

⚡️ Linux может читать сетевые пакеты почти напрямую

В Linux можно открыть raw socket и увидеть пакеты, которые приходят на сетевую карту. Без Wireshark. Без libpcap. Без лишних инструментов. Пример из скрина делает простую вещь: 1. создаёт socket уровня AF_PACKET 2. просит у ядра все Ethernet-пакеты через ETH_P_ALL 3. в бесконечном цикле читает их через recvfrom 4. печатает размер каждого пакета То есть программа буквально говорит ядру: “Отдавай мне всё, что видит сетевой интерфейс.” И Linux отдаёт. Почему это круто? Потому что так становится понятно, что Wireshark - это не магия. Он тоже получает низкоуровневый трафик от системы, просто красиво его разбирает и показывает. Обычно разработчик работает с сетью на высоком уровне: HTTP → TCP → socket А raw socket позволяет спуститься ниже: Ethernet frame → IP packet → TCP/UDP → payload На таком уровне видно, что реально летит по сети: заголовки, размеры пакетов, служебные данные и весь сырой трафик. Это один из тех примеров, после которых Linux networking перестаёт быть чёрным

⚡️ Linux может читать сетевые пакеты почти напрямую

В Linux можно открыть raw socket и увидеть пакеты, которые приходят на сетевую карту.

Без Wireshark.

Без libpcap.

Без лишних инструментов.

Пример из скрина делает простую вещь:

1. создаёт socket уровня AF_PACKET

2. просит у ядра все Ethernet-пакеты через ETH_P_ALL

3. в бесконечном цикле читает их через recvfrom

4. печатает размер каждого пакета

То есть программа буквально говорит ядру:

“Отдавай мне всё, что видит сетевой интерфейс.”

И Linux отдаёт.

Почему это круто?

Потому что так становится понятно, что Wireshark - это не магия. Он тоже получает низкоуровневый трафик от системы, просто красиво его разбирает и показывает.

Обычно разработчик работает с сетью на высоком уровне:

HTTP → TCP → socket

А raw socket позволяет спуститься ниже:

Ethernet frame → IP packet → TCP/UDP → payload

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

Это один из тех примеров, после которых Linux networking перестаёт быть чёрным ящиком.