pcap e soquete bruto [fechado]

0

Eu quero desenvolver um aplicativo (módulo ou nível de usuário, se possível) para criar um soquete bruto no RHEL, roubando todos os pacotes de nível 2 diretamente do kernel (sem ser roteado ou manipulado por outros soquetes abertos). Eu gostaria de alimentar pacotes para pcap para programaticamente lidar com alguns tipos de pacotes. Qual seria o melhor de fazer isso? Eu tenho visto artigos sobre rede de cópia zero, pcap, BPF mas eu acho que eles estão todos trabalhando com capturas / cópias de pacotes?

    
por tartar 08.11.2012 / 04:56

1 resposta

2

Não forneça à interface um endereço IP. Basta trazê-lo e capturar pacotes com o libpcap. Se não tiver nenhum endereço IP, o kernel irá deixá-lo sozinho, se isso for sua preocupação.

Se você quiser que a interface tenha um endereço IP manipulado pelo kernel e redirecione apenas alguns pacotes IP para o seu aplicativo, o netfilter pode fazê-lo. Veja o alvo do iptables NFQUEUE ou NFLOG.

Se o desempenho da captura de pacotes for sua preocupação, consulte PF_RING .

Caso contrário, talvez você possa explicar com mais detalhes o que está tentando fazer, pois não está claro para mim.

    
por 08.11.2012 / 11:08