2020-04-24 23:36:52 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libpcap, pcre }:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "ngrep";
|
|
|
|
version = "1.47";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "jpr5";
|
|
|
|
repo = "ngrep";
|
|
|
|
rev = "V${lib.replaceStrings ["."] ["_"] version}";
|
|
|
|
sha256 = "1x2fyd7wdqlj1r76ilal06cl2wmbz0ws6i3ys204sbjh1cj6dcl7";
|
|
|
|
};
|
|
|
|
|
|
|
|
patches = [
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://patch-diff.githubusercontent.com/raw/jpr5/ngrep/pull/11.patch";
|
|
|
|
sha256 = "0k5qzvj8j3r1409qwwvzp7m3clgs2g7hs4q68bhrqbrsvvb2h5dh";
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
|
|
|
nativeBuildInputs = [ autoreconfHook ];
|
|
|
|
buildInputs = [ libpcap pcre ];
|
|
|
|
|
|
|
|
configureFlags = [
|
|
|
|
"--enable-ipv6"
|
|
|
|
"--enable-pcre"
|
|
|
|
"--disable-pcap-restart"
|
|
|
|
"--with-pcap-includes=${libpcap}/include"
|
|
|
|
];
|
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
sed -i "s|BPF=.*|BPF=${libpcap}/include/pcap/bpf.h|" configure
|
|
|
|
'';
|
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
description = "Network packet analyzer";
|
|
|
|
longDescription = ''
|
|
|
|
ngrep strives to provide most of GNU grep's common features, applying
|
|
|
|
them to the network layer. ngrep is a pcap-aware tool that will allow you
|
|
|
|
to specify extended regular or hexadecimal expressions to match against
|
|
|
|
data payloads of packets. It currently recognizes IPv4/6, TCP, UDP,
|
|
|
|
ICMPv4/6, IGMP and Raw across Ethernet, PPP, SLIP, FDDI, Token Ring and
|
|
|
|
null interfaces, and understands BPF filter logic in the same fashion as
|
|
|
|
more common packet sniffing tools, such as tcpdump and snoop.
|
|
|
|
'';
|
|
|
|
homepage = "https://github.com/jpr5/ngrep/";
|
2024-01-02 11:29:13 +00:00
|
|
|
license = {
|
|
|
|
shortName = "ngrep"; # BSD-style, see README.md and LICENSE
|
|
|
|
url = "https://github.com/jpr5/ngrep/blob/master/LICENSE";
|
|
|
|
free = true;
|
|
|
|
redistributable = true;
|
|
|
|
};
|
2021-12-06 16:07:01 +00:00
|
|
|
platforms = with platforms; linux ++ darwin;
|
2020-04-24 23:36:52 +00:00
|
|
|
maintainers = [ maintainers.bjornfor ];
|
2024-02-29 20:09:43 +00:00
|
|
|
mainProgram = "ngrep";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|