Pergunta

i ter regra criada para soltar UDP / TCP pacotes com cordas correspondentes. no entanto, o meu programa que captura de pacotes usando libpcap, ainda é capaz de ver este pacote.

Por que isso é /, quais devem ser as regras iptable a cair pacotes antes de ser visto por libpcap?

Existe uma maneira, talvez diferente de regras de iptables, para largar esse pacote antes de ser visto por libpcap / tcpdump?

Foi útil?

Solução

Sim, libpcap vê todos os pacotes. . Eles estão sendo capturado antes de ser processado pelo netfilter.

Outras dicas

Você tentou alterar a prioridade do gancho netfilter você usa? se você tentar ligar com a mais alta prioridade para os pacotes de entrada, ele irá obter o pacote antes do código do kernel tomada por pacotes, que são os usos maneira libpcap para capturar pacotes.

* Eu suponho que você está usando linux *

EDIT: Libpcap usa maneiras diferentes para capturar pacotes - de acordo com o sistema operacional. no Linux que utiliza socket para um pacote que é implementado no código do kernel usando a estrutura do netfilter.

Não há nenhuma maneira para libpcap para ver os pacotes antes netfilter, netfilter é um módulo do kernel, e processa todos os pacotes antes de bater o modo usuário, ele pode até mesmo ver os pacotes antes que o kernel vê-lo. Você poderia explicar melhor explicar? É possível que libpcap também está estabelecendo ganchos netfilter que substituem o de iptables. A verdadeira questão é que olhando eo que ganchos são definidas em netfilter está longe de ser trivial, e só pode ser feito em modo kernel. Investigar como libpcap recebe os pacotes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top