Re: [br-KernelNewbies] Compartilhamento de memória entre o kernelland e o userland
Rodrigo Montoro (Sp0oKeR)
spooker em gmail.com
Quarta Maio 30 16:51:28 BRT 2007
Da uma olhada, acho que isso ajudara
http://www.phrack.org/archives/61/p61-0x0d_Hacking_the_Linux_Kernel_Network_Stack.txt
[]z! Sp0oKeR
On 5/30/07, Fabrício Barros Cabral <fxcabral em yahoo.com.br> wrote:
> On Wed, 2007-05-30 at 13:25 -0300, Beraldo Leal wrote:
> > Olá Frabicio,
>
> Olá Beraldo! :)
>
>
> > para isso, se entendi direito, creio que vc vá precisar registrar uma função para
> > uma hook no framework netfilter.
>
> Esta, ao meu ver, seria uma das opções. A outra seria pegar os frames
> ethernet *diretamente* da placa de rede, mas não sei como fazer isso.
> Vamos deixar essa segunda opção em off por enquanto! ;)
>
>
> > O netfilter irá passar pra sua função a estrutura sk_buf, definida em linux/sk_buff.h e sua função
> > precisa retornar para o netfilter, algo definido em linux/netfilter.h que pode ser
> >
> > /NF_DROP(0),
> > NF_ACCEPT(1),
> > NF_STOLEN(2),
> > NF_QUEUE(3)/e/
> > NF_REPEAT(4).
> >
> > /
> >
> > Procure por nf_register_hook.
>
> Eu sei que vou precisar fazer um hook do netfilter. E conforme eu falei
> no e-mail, eu já estou fazendo isso e mais especificamente ainda, meu
> hook se encontra no subsistema bridge do netfilter.
>
> A minha questão, é: dado que eu recebo um sk_buff do netfilter, como
> passá-lo "diretamente" para a aplicação? Pensei em utilizar uma área de
> memória compartilhada (via mmap()), na qual eu implementaria um ring
> buffer, onde meu módulo escreveria os sk_buff e minha aplicação os
> leria, no bom e velho estilo produtor-consumidor, mas não sei como
> fazê-lo e também não sei se seria uma boa solução.
>
> Se você ou alguém mais da lista puder me ajudar neste problema, ficaria
> muito agradecido! :)
>
> []'s
>
> --fx
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies em listas.cipsga.org.br
> http://listas.cipsga.org.br/cgi-bin/mailman/listinfo/kernelnewbies
>
>
--
"If you are not part of solution,
you are part of the problem."
=========================
Rodrigo Ribeiro Montoro
BRConnection Development Team
spooker em brc.com.br
RHCE/LPIC-I
=========================
Mais detalhes sobre a lista de discussão Kernelnewbies