[FUG-BR] modulo do kernel - exemplo de pffil_hooks

Luiz Souza luiz em visualconnect.com.br
Terça Julho 25 13:13:22 BRT 2006


Nenhum _de_Nos wrote:
> hail,
>
> estou tentando fazer um sistema para ver trafego nat ( contar bytes de
> e/s de cada cliente ) para mandar via snmp para cacti/mrtg e estou
> tendo problemas ( nao sou eximio programador C ) em tratar a estrutura
> **mbuf que recebo ( quase resolvida, via mtod virando struct ip ),
> probemas em acessar essa struct ip e por final com problemas em
> mostrar estes dados.
>   
Que trabalho pra pegar essas informacões hein ?
> o exemplo que temla cria um arquivo em /dev onde se faz cat e se le o
> conteudo. no meu caso, nao to conseguindo isso. o cat nao acaba ...
>
> estou salvando um array com os valores s_addr que recebo da (struct
> ip).src_ip.s_addr. mas nao sei ainda transformar este valor em ip
> legivel :(
>   
inet_ntoa(3)
> queria saber se alguem sabe onde vejo mais sobre isso. faco buscas no
> codigo do kernel, mas isso nao eh o ideal. nao eh eficiente pra mim e
> nem didatico heheh :)
>
> a ideia era isso ficar algo decente para ser um
> natmonitor.souceforge.net para o FreeBSD.
>   
Além das ideias que já lhe passaram (prontas por sinal), pra quem gosta 
de sofrer (mas não tanto), seria mais facil escrever um daemon pra rodar 
no espaco usuario e não no kernel atachado (hehe) a interface via bpf 
(ou libpcap).

Quem faz isso é o /usr/ports/net-mgmt/bandwidthd (outra solucão pronta).

Luiz


Mais detalhes sobre a lista de discussão freebsd