함수에서 TCP 패킷을 캡처하고 netif_receive_skb
있으며 TCP 패킷의 재생 페이로드를 저장하고 싶습니다. 커널 모듈에서는 해당 파일을 읽고 쓸 수 없으므로 디스크에 직접 저장하는 것이 좋을까요?
이것이 좋은 생각입니까, 아니면 다른 제안 사항이 있습니까?
답변1
요구 사항을 다른 각도에서 접근하면 요구 사항이 충족될 수도 있습니다.
iptables
사용자 공간을 위해 선택한 패킷을 대기열에 추가할 수 있는 -j NFQUEUE
옵션(참고자료 참조 ) 이 있습니다 . man iptables
사용자 공간 프로그램에서 디스크에 패킷을 쓰는 것은 간단합니다.
바라보다https://home.regit.org/netfilter-en/using-nfqueue-and-libnetfilter_queue/몇 가지 매우 흥미로운 세부 사항에 관해서는, 제가 단지 대충 훑어봤다는 점을 지적하고 싶습니다.