como interceptar pacotes IP no linux

4

Estou tentando atingir esse objetivo no Linux (não tenho certeza se é possível e como): preciso escrever um programa para interceptar todos os pacotes IP em uma interface e entregar esse pacote a um conjunto específico de usuários programas espaciais.

Por intercepção quero dizer, um pacote IP é capturado pelo meu programa (talvez um módulo do kernel ou um programa especial de espaço do usuário), então este pacote não passa mais pela pilha IP.

Por exemplo, digamos que o sistema operacional esteja executando muitos processos (no espaço do kernel ou no espaço do usuário), A, B, C, D ..., etc. Se um pacote IP for recebido em uma interface , digo eth2, eu só quero A, B vê este pacote, e todos os outros processos sabem mesmo a existência deste pacote.

Alguém pode me colocar na direção certa?

    
por user2975098 10.11.2013 / 05:49

1 resposta

6

Acho que você deseja criar uma interface TUN / TAP . Ambos conectam um programa de espaço do usuário à rede. Uma interface TUN funciona no nível IP; uma interface TAP funciona no nível da Ethernet.

Se você estiver interessado, este tutorial pode ser útil para começar a usar a interface TUN / TAP. É intitulado: Tutorial da interface Tun / Tap .

Se essa não é a resposta que você estava procurando, talvez você possa fornecer mais informações sobre o problema que está tentando resolver.

    
por 10.11.2013 / 06:39