Comment filtrer le paquet entrant par libpcap en C

Récemment, j’essaie de filtrer le paquet entrant du fichier pcap avec libpcap en C / C ++. Voici du code partiel.

pcap = pcap_open_offline(argv[0], errbuf); if (pcap == NULL) { fprintf(stderr, "error reading pcap file: %s\n", errbuf); exit(1); } char filter_exp[] = "inbound"; struct bpf_program pgm; if (pcap_comstack(pcap, &pgm, filter_exp, 0, PCAP_NETMASK_UNKNOWN) == -1) { printf("Bad filter - %s\n", pcap_geterr(pcap)); return 1; } if (pcap_setfilter(pcap, &pgm) == -1) { printf("Error setting filter - %s\n", pcap_geterr(pcap)); return 1; } 

Mais le message d’erreur est comme suit.

Filtre incorrect – entrant / sortant non pris en charge sur le type de lien 1 lors de la lecture de fichiers de sauvegarde

Est-il possible de filtrer les paquets entrants en C / C ++?