IP-адрес назначения eBPF (BCC) из пространства ядра и пространства пользователя не совпадает - PullRequest
0 голосов
/ 18 июня 2019

Я использую eBPF и BCC для распечатки IP-адресов пакетов, которые я получаю.

Для ядра я запрограммировал код для распечатки из ip_t -> dst; который я предполагаю, что это адрес пункта назначения.

Для пользовательского пространства я запрограммировал код для распечатки адреса пользователя из байт-кода.

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

Итак, для уровня пользователя я получаю: IP-адрес назначения = 203.237.53.121

- это статический IP-адрес, который я дал серверу.

Однако, когда я печатаю ip_t -> dst, я получаю: 3421320703

Я не понимаю, почему у них были бы разные выходы.

Я пытаюсь в конечном итоге создать программу, в которую я могу просто стремиться получать пакеты только с определенного IP-адреса отправителя и т. Д.

Было бы здорово, если бы кто-нибудь мог мне помочь.

Спасибо:)

...