Linux 커널 4.13-rc2 이상에서는 nf_register_hook를 찾을 수 없습니다.

Linux 커널 4.13-rc2 이상에서는 nf_register_hook를 찾을 수 없습니다.

방금 netfilter를 배우기 시작했고 간단한 netfilter 모듈, 모든 튜토리얼 및 등록된 후크 기능을 사용하는 방법을 만들려고 노력하고 있지만 nf_register_hook()4.13-rc1 이상의 Linux 커널에서는 찾을 수 없습니다.

내가 이해한 바에 따르면 이 함수는 연결된 목록의 각 구성원을 반복하는 함수를 추가로 호출하는 함수를 nf_register_hook()호출하는 데 사용되지만 나로서는 이해하기가 약간 어렵습니다._nf_register_hook()nf_register_net_hook()net

해당 nf_register_hook()기능이 없어진 상태에서 후크를 등록하는 방법을 알아보는 중입니다.

기능 nf_register_net_hook()은 여전히 ​​존재하지만 어떻게 작동하는지 잘 모르겠습니다.

그래서 내 질문은 다음과 같이 요약됩니다.

커널 4.13-rc1 이상에서 netfilter 후크를 등록하는 방법은 무엇입니까?

답변1

다음 코드를 사용하세요.

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,13,0)
    nf_register_net_hook(&init_net, reg)
#else
    nf_register_hook(reg)
#endif

인용하다:네트워크 초기화

관련 정보