You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
módulo, isto é fazer todas as atribuições, preparar nosso triggers, ou<br />
setar alguma coisa que desejamos dentro do kernel<br />
int init_module()<br />
{<br />
Blz até aqui, vamos agora preencher nossa estrutura nf_hok_ops<br />
primeiro atribuimos a .hoknum o valor de NF_IP_LOCAL_IN(pacotes<br />
chegando na máquina)<br />
hulk.hoknum = NF_IP_LOCAL_IN;<br />
Primeira regra da hok a ser obedecida<br />
hulk.priority = NF_IP_PRI_FIRST;<br />
Apontamos .hok para nossa função<br />
hulk.hok = hokfunc;<br />
E definimos a familia da hok<br />
hulk.pf = PF_INET;<br />
Utilizando a função nf_register_hok(nf_hok_ops *), inserimos nossa hok<br />
dentro do netfilter<br />
nf_register_hok(&hulk);<br />
Retornamos 0 indicando que o módulo foi carregado com sucesso<br />
return 0;<br />
}<br />
Esta função é responsável por arrumar nossa bagunça, em todo módulo<br />
acharemos uma destas:<br />
void cleanup_module()<br />
{<br />
Desregistramos nossa hok, e deixamos o kernel viver em paz hehehehe<br />
nf_unregister_hok(&hulk);<br />
}<br />
Bom como vcs puderam ver por este nosso primeiro teste, não é difícil<br />
construir hoks úteis dentro do netfilter seguindo mais ou menos o<br />
exemplo que dei acima.Vamos a segunda parte da primeira parte deste<br />
artigo :D<br />
E se quizermos rejeitar pacote para um determinado protocolo??<br />
120