Я использую eBPF и BCC для распечатки IP-адресов пакетов, которые я получаю.
Для ядра я запрограммировал код для распечатки из ip_t -> dst;
который я предполагаю, что это адрес пункта назначения.
Для пользовательского пространства я запрограммировал код для распечатки адреса пользователя из байт-кода.
Я много раз проверял другие переменные, чтобы увидеть, показывает ли моя программа правильные значения данных, хранящихся в заголовке пакета, и все ли это работает хорошо, за исключением адресов.
Итак, для уровня пользователя я получаю: IP-адрес назначения = 203.237.53.121
- это статический IP-адрес, который я дал серверу.
Однако, когда я печатаю ip_t -> dst, я получаю: 3421320703
Я не понимаю, почему у них были бы разные выходы.
Я пытаюсь в конечном итоге создать программу, в которую я могу просто стремиться получать пакеты только с определенного IP-адреса отправителя и т. Д.
Было бы здорово, если бы кто-нибудь мог мне помочь.
Спасибо:)