후킹을 어떻게 해야 될까요
한 맥주소로 아이피를 여러개 잡을 수 없는 환경이라서
ip aliasing 를 하고 커널 모듈에서 패킷을 후킹해서
특정 아이피로 들어오는것, 나가는것에 대해서
들어오는건 이더넷 헤더의 대상 주소를 랜카드 맥으로 수정하고
나가는건 이더넷 헤더의 소스 주소를 다른 임의의 맥주소로 수정시키게 모듈을 짰습니다.
그런데 랜카드 맥주소로 수정했는데도 불구하고 패킷을 받았다는것을 인식하지 않습니다.
eth0에서 패킷이 들어오며 현재 br0으로 브릿지 구성 되어 있습니다.
커널은 2.6 입니다.
static struct nf_hook_ops mod_opt_hook[] __read_mostly = {
|.......{
|.......|........hook=mod_input,
|.......|........owner=THIS_MODULE,
|.......|........pf = PF_INET,
|.......|........priority = INT_MIN,
|.......|........hooknum = NF_INET_PRE_ROUTING
|.......},
|.......{
|.......|........hook=mod_output,
|.......|........owner=THIS_MODULE,
|.......|........pf = PF_INET,
|.......|........priority = INT_MIN,
|.......|........hooknum = NF_INET_POST_ROUTING
|.......},
};
nf_register_hooks(mod_opt_hook, ARRAY_SIZE(mod_opt_hook));
이렇게 후킹을 했습니다.
댓글 달기