1 { lib, stdenv, fetchurl, pkg-config, protobuf, openssl, libpcap, traceroute
2 , withGUI ? false, qt5 }:
4 let inherit (lib) optional;
7 stdenv.mkDerivation rec {
12 url = "https://www.caida.org/projects/spoofer/downloads/${pname}-${version}.tar.gz";
13 sha256 = "sha256-3ljCPmazKz0fHer2yN6baFLu425Dsr9ppdjr2Iv5YJ8=";
16 nativeBuildInputs = [ pkg-config ];
17 buildInputs = [ openssl protobuf libpcap traceroute ]
18 ++ optional withGUI qt5.qtbase ;
20 dontWrapQtApps = true;
23 homepage = "https://www.caida.org/projects/spoofer";
24 description = "Assess and report on deployment of source address validation";
26 Spoofer is a new client-server system for Windows, MacOS, and
27 UNIX-like systems that periodically tests a network's ability to
28 both send and receive packets with forged source IP addresses
29 (spoofed packets). This can be used to produce reports and
30 visualizations to inform operators, response teams, and policy
31 analysts. The system measures different types of forged
32 addresses, including private and neighboring addresses. The
33 test results allows to analyze characteristics of networks
34 deploying source address validation (e.g., network location,
37 platforms = platforms.all;
38 license = licenses.gpl3Plus;
39 maintainers = with lib.maintainers; [ leenaars];
40 mainProgram = "spoofer-prober";