Salut tous, je suis sous Fedora10.
Je suis en train de développer un petit programme avec Code::Blocks.
Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdlib.h>
#include <stdio.h>
#include <pcap/pcap.h>
#include <net/if.h>
 
int main(int argc,char *argv[])
{
    char *dev,errbuf[PCAP_ERRBUF_SIZE];
    pcap_t *descripteur;
    bpf_u_int32 net,mask;
 
 
    /* Trouver l'interface de capture */
    if(argv[1] == NULL)
    {
     dev = pcap_lookupdev(errbuf); /* Retourne l'interface réseau par défaut */
     fprintf(stderr,"Votre interface de capture est: %s\n",dev);
    }
    else
        {
         dev = argv[1]; /* Le nom de l'interface est passé comme paramètre */
         fprintf(stderr,"Votre interface de capture est: %s\n",dev);
        }
    /* Déclarer le descripteur de paquet */
    descripteur = pcap_open_live(dev,1514,IFF_PROMISC,1000,errbuf);
 
    /* Affecter une adresse IP et un masque pour la carte réseau */
    if(pcap_lookupnet(dev,&net,&mask,errbuf)==-1){
    fprintf(stderr,"ERREUR @IP ou @RESEAU pour %s\n",dev);
    }
    else {
        printf("IP: %s\nMasque: %s\n",inet_ntoa(net),inet_ntoa(mask));
    }
 
return EXIT_SUCCESS;
}

Le programme m'affiche toujours:
IP: 192.168.1.0
Masque: 192.168.1.0
Le masque c'est juste mais mon IP ce n'est pas 192.168.1.0

Pouvez-vous m'aider à résoudre ce petit problème?

Merci.