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;
} |
Partager