skb_buff data 수정 질문 입니다.

fivestar의 이미지

안녕하세요.

Netfilter 를 후킹하여 패킷 데이터를 수정하려고 합니다.

sk_buff data 부분을 수정하여 tcp,ip checksum을 다시 계산하였습니다.

이후 수정된 데이터를 그대로 NF_ACCEPT 시켜줬는데

브라우저에 수정된 데이터가 표시가 안되고 기존 데이터가 보이네요..

추측상으로는 NF_ACCEPT를 하면 안되고 패킷을 직접 보내줘야 하는것 같은데..맞나요?

자그마한 도움좀 부탁드리겠습니다.. ㅜㅜ

fivestar의 이미지

해결 하였습니다.
NF_IP_PRE_ROUTING 에서 후킹한 데이터를 수정하였으며
tcp,ip 체크섬 정확하게 계산후 return 하면 되네요.

체크섬이 틀렸을 경우에 패킷캡쳐한 데이터로 체크섬이 틀렸는지 확인이 안되니
정확히 계산을 하셔야 할것같습니다. :)