Dicas para o Trabalho #1
Opção 1: Coloque
a placa em modo promíscuo com o comando ifconfig antes
de executar o seu programa
Exemplo:
# ifconfig eth0 promisc |
# prog |
# ifconfig eth0 -promisc |
Dessa forma, você habilita o modo promíscuo antes da execução e o desabilita após a execuação
Opção 2: Coloque a placa em modo promíscuo com o comando ifconfig na
execução do seu
programa usando a chamada de sistemas system
Exemplo:
void main () { ....... system("ifconfig eth0 promisc"); // escreva as funções de captura de tráfego necessárias system("ifconfig eth0 -promisc"); exito(0); } |
Dessa forma, você habilita o modo promíscuo no inicio de
seu programa, implementa as funções necessárias
e ao sair restaurao modo de operação normal da placa.
Opção 3: Coloque a placa em modo promíscuo de forma elegante no seu programa em C, usando a chamda de sistema ioctl
Exemplo:
#include <sys/ioctl.h> #include <net/if.h> // Atenção este é
apenas um trecho de programa que deve ser struct ifreq ifr; // descobre o indice da interface |
Atenção! Após colocar a placa em modo promíscuo e instaciar o socket RAW é
necessário |
Exemplo:
// Atenção este é apenas um trecho
de programa que deve ser // utilizado corretamente dentro de um procedimento em C struct packet_mreq *pkt; pkt = (struct packet_mreq *) malloc (sizeof(struct
packet_mreq)); |