Я очень новичок в мире разработки BPF, и мне нужно использовать kprobes в моей программе BPF, чтобы я мог правильно обнаруживать и собирать PID для процессов, пытающихся отправить пакеты по сети. Я хочу развернуть эту программу BPF с моим приложением пользовательского пространства, и мое приложение пользовательского пространства работает в различных версиях и дистрибутивах Linux, хотя все они относительно недавние.
Я знаю, что механизм kprobe официально нестабилен, но насколько вероятно, что моя программа сломается на практике? Я подключаю такие функции, как tcp_connect
и ip4_datagram_connect
. Я бы подумал, что эти функции не будут сильно меняться между версиями ядра, поэтому более или менее полагаться на них должно быть безопасно? Или я что-то недопонимаю?
Могу ли я отправить приложение, которое использует эти конкретные (tcp/udp) kprobes, не слишком беспокоясь о совместимости или стабильности?