iptables e libpcap
-
06-07-2019 - |
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?
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.