un début réponse de moi pour moi parce qu'il ya personne
#include <stdio.h>
#include <stdlib.h>
#include <pcap.h>
#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(int argc, char **argv) {
/*
plumber test libcap 1 complie gcc this.c -lcap
*/
char *device;
char *net;
char *mask;
int lookupnet;
char errbuf[PCAP_ERRBUF_SIZE];
bpf_u_int32 netp;
bpf_u_int32 maskp;
struct in_addr addr;
if(argv[1] !=NULL) {
fprintf(stdout,"\n\nUsage: %s interface\n\n",argv[0]);
return 0;
}
device = argv[1];
printf("device: %s\n",device);
lookupnet = pcap_lookupnet(device,&netp,&maskp,errbuf);
if(lookupnet == -1) {
printf("%s\n",errbuf);
exit(1);
}
addr.s_addr = netp;
net = inet_ntoa(addr);
if(net == NULL){
perror("inet_ntoa");
exit(1);
}
printf("inet: %s\n",net);
addr.s_addr = maskp;
mask = inet_ntoa(addr);
if(mask == NULL){
perror("inet_ntoa");
exit(1);
}
printf("netmask: %s\n",mask);
return 0;
}