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

  • Автор темы Автор темы ADMIN
  • Дата начала Дата начала

ADMIN

Administrator
ADMIN
Регистрация
18 Окт 1989
Сообщения
1,408
Реакции
93
Баллы
48
☑ ДЕПОЗИТ
0$
В 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 перестаёт быть чёрным ящиком.
 
Защита от мошенничества: Использование посредника минимизирует риски столкнуться с «продавцами-однодневками» или недобросовестными заказчиками, которые исчезают после получения предоплаты или результата работы.
Назад
Сверху