В продолжении старой темы http://www.linux.org.ru/forum/development/6422076
Взял для тестинга библиотеку Net::Pcap::Easy и написал на нем следущий код
#!/usr/bin/perl
use strict;
use warnings;
use Net::Pcap::Easy;
my $npe = Net::Pcap::Easy->new(
dev => «igb1»,
filter => «icmp»,
packets_per_loop => 10,
promiscuous => 1,
icmp_callback => sub { warn «ping or something!\n» },
);
1 while $npe->loop;
exit 0;
Но он работает только если filter пустой ,иначе он ни icmp ни tcp(это в другой проге но каркас аналогичен) не работает
OS FreeBSD 8.2 amd 64
P.S tcpdump с фильтрами работает