01.01.2013 Views

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

Liber 000 - Astrum Argentum

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

pacote morra dentro da nossa hok, ou melhor, que ele seja esquecido<br />

pelas hoks subsequentes.<br />

NF_QUEUE: Coloca o pacote num fila(não tenho certeza, mas acredito que<br />

isto seja para usar o conceito da libipq<br />

( http://www.cs.princeton.edu/~nakao/libipq.htm ), ou seja vc coloca o<br />

pacote numa fila para um processo no espaço do usuário, trata este<br />

pacote, e retorna para o modo kernel(ativa okfn), ou retorna um drop no<br />

bixin.<br />

Agora temos sabemos quase tudo que precisamos para avançar e<br />

desenvolver nosso primeiro módulo para o netfilter, mas ainda carece<br />

saber de uma coisa. Bom registramos hoks dentro do netfilter, esta hok,<br />

são structs (estruturas) que contém, a nossa função que estudamos<br />

acima( e retorna um dos valores que acabamos de ver), uma prioridade<br />

que vou falar mais a frente, e uma familia(no nosso caso PF_INET).<br />

Vamos ver esta estrutura, conforme sua declaração em<br />

~/linux/netfilter.h :<br />

struct nf_hok_ops<br />

{<br />

struct list_head list;<br />

};<br />

/* User fills in from here down. */<br />

nf_hokfn *hok;<br />

int pf;<br />

int hoknum;<br />

/* Hoks are ordered in ascending priority. */<br />

int priority;<br />

Primeira coisa que notamos ela faz parte de uma lista de hoks, nem se<br />

preocupem novamente, não vamos manipular esta lista(hoje hehehe).<br />

struct list_head list;<br />

Esta ai a função que estudamos a pouco, este membro apontaremos para<br />

nossa função de hoking :D<br />

nf_hokfn *hok;<br />

Bom pf = protocol family, como estaremos lidando com o PF_INET,<br />

vamos atribuir este valor para este membro.<br />

int pf;<br />

Se lembram das hoks que conhecemos lah no começo do texto?? Bom<br />

aqui vamos preencher com elas (relembrando poderia ser<br />

NF_IP_PRE_ROUTING, para pacotes que ainda não foram roteados).<br />

116

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!