Hi Guix, libpcap comes with a couple of backends that are disabled by default. Among those available backends is “pcap-linux”. By default the only backends are
pcap-null pcap-usb-linux pcap-can-linux pcap-netfilter-linux pcap-common ‘netfilter-linux’ doesn’t work out of the box and I think it requires loading iptables/netfilter kernel modules (I have not yet found the correct modules to load, so I can only guess). When “--with-pcap=linux” is passed “pcap-linux.c” is compiled as well, which makes tcpdump work out of the box without the need to load any further modules. Thanks to Ludovic for providing a crucial bit of information! ~~ Ricardo
>From 7ca2d0dc5cc1232605e2b78167ea3ae5c92be531 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus <rek...@elephly.net> Date: Wed, 15 Jul 2015 16:11:50 +0200 Subject: [PATCH] gnu: libpcap: Enable plain "linux" backend. * gnu/packages/admin.scm (libpcap)[arguments]: Add "--with-pcap=linux" configure flag. --- gnu/packages/admin.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c96e116..5b56599 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -476,7 +476,8 @@ tools: server, client, and relay agent.") "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ("flex" ,flex))) - (arguments '(#:tests? #f)) ; no 'check' target + (arguments '(#:configure-flags '("--with-pcap=linux") + #:tests? #f)) ; no 'check' target (home-page "http://www.tcpdump.org") (synopsis "Network packet capture library") (description -- 2.4.3