Age | Commit message (Collapse) | Author | Files | Lines |
|
Jon's name was spelled wrong in .mailmap in commit 79608cdc169b
("AUTHORS: auto-generate from commit log") and thus ended up being wrong
in the AUTHORS file since we started auto-generating it. Sorry about
that!
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Currently, using -t 0 option calls shaper_set_delay with 0 sec and 0 ns,
which results in sh->type to be SHAPER_NONE. This in turn causes trafgen
to use TX_RING.
Expected behavior, from "man trafgen":
If this option is given, then instead of packet(7)'s TX_RING
interface, trafgen will use sendto(2) I/O for network packets, even
if the argument is 0.
This patch forces sh->type to be set to SHAPER_DELAY even if
the delay is 0. shaper_delay already handles the case where
sh->type is SHAPER_DELAY and the delay is 0.
Fixes #208
Signed-off-by: Quentin Chateau <quentin.chateau@gmail.com>
[tklauser: adjusted commit message to include change description]
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Older versions of gzip assume the GZIP environment variable contains
flags[1]. Building netsniff-ng on a system with such a version of gzip
will yield the following error:
INST netsniff-ng/netsniff-ng
gzip -9 -c netsniff-ng.8 > netsniff-ng/netsniff-ng.8.gz
gzip: gzip: No such file or directory
A practical alternative to redefining GZIP in the Makefile seems to be
to use the GZIP_ENV make variable[2] instead.
[1] The GZIP environment variable was deprecated in gzip version 1.7.
See https://www.gnu.org/software/gzip/manual/html_node/Environment.html
and https://git.savannah.gnu.org/cgit/gzip.git/tree/NEWS for more
information.
[2] https://www.gnu.org/software/automake/manual/automake.html#index-GZIP_005fENV
Signed-off-by: Daniel Roggow <daniel.roggow@rockwellcollins.com>
|
|
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Calculate ICMP and TCP checksums for both IPv4 and IPv6,
Fixes #198
Fixes #200
Signed-off-by: uno20001 <regisztralo111@gmail.com>
[tk: code formatting, C89 compatibility]
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
I tend to forget to update the AUTHORS file with new contributors. Let's
automate it and extract the contributors from the commit log.
Manually mention people how have contributed in other ways (bug reports,
documentation etc.) or how had commits in the previousl, no longer
existing repository.
Script based on
https://github.com/cilium/cilium/blob/master/contrib/scripts/extract_authors.sh
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
As a preparation for auto-generating the AUTHORS file, move everybody to
a single list of contributors.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Signed-off-by: Kartik Mistry <kartik.mistry@gmail.com>
|
|
If we want to use https://netsniff-ng.github.io instead of
https://netsniff-ng.github.io/netsniff-ng the source apparently have to
live in a separate repository.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Let's move to GitHub pages so I don't always forget to update the
website upon a new release.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Store the default "dump-" prefix in ctx->prefix instead of checking it
every time in generate_multi_pcap_filename.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add Whang Choi for PR #202
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add a new option -O, --overwrite which allows to rotate capture files.
The timestamp in the file name is replaced with a number that wraps
around after reaching the specified number of files.
Example usage:
netsniff-ng -s -F 1KiB -O 10 -i eth0 -o /output/folder
Fixes #147
Signed-off-by: Whang Choi <wch0x01@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
If libsodium is installed (i.e. pkg-config --variable=includedir
libsodium returns a non-empty path), assume libsodium is installed and
use it instead of libnacl.
To use libnacl, set NACL_INC_DIR, NACL_LIBDIR and NACL_LIB accordingly.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
If the file that GeoIP mirror addresses are being read from lacks a
terminating newline, then the code that reads them in exhibits an
off-by-one error.
Example of such a file:
$ xxd /etc/netsniff-ng/geoip.conf
00000000: 6765 6f6c 6974 652e 6d61 786d 696e 642e geolite.maxmind.
00000010: 636f 6d com
Fix this by explicitly getting the part of the string before the
newline using `strcspn`.
Signed-off-by: Mandar Gokhale <mandarg@mandarg.com>
|
|
This has been broken by commit 4e47fd021a6945aa626eaef4446c5b547d8c2a85.
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Check for errors in IP addresses specified, and throw an appropriate
error if they are not specified properly, e.g. if user uses `-6`
option with an IPv4 source address.
Closes #166
Signed-off-by: Mandar Gokhale <mandarg@mandarg.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add Matteo Croce for PR #194
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Modify -b option to generate all random MAC addresses.
Improve the random generation algorithm, use nrand48() which fills the
ethernet address in two calls instead of six calls to rand() and six
floating point calculations.
Set the locally administered bit of generated MAC addresses.
Signed-off-by: Matteo Croce <mcroce@redhat.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add Radoslav Bodo for commit 76bd307a8ce8 ("trafgen: support ICMPv6
checksums") submitted via PR #193.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Usage: csumicmp6(14, 54)
Signed-off-by: Radoslav Bodo <bodik@cesnet.cz>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add Nick Grauel for commit 3f26829394ea ("mausezahn: Restore handling of
raw hex string passed in on command line") via PR #191.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Originally all hex strings (whether they were given on the command line
or in a file) were handled by a call to str2hex():
bytestring_s = str2hex (tx.arg_string, bytestring, MAX_PAYLOAD_SIZE);
Commit f634c74 added code to parse out "payload=" or "p=" flags that may
have been added at the start of the hex string. This code also changed the
logic around this str2hex() call to only call the function and populate
bytestring_s if one of these flags was found. This broke the ability to
pass in a raw hex string on the command line since it fails the check and
bytestring_s is never populated with the hex bytes. I've added an else
condition to make the str2hex() call using the old method in cases where
no "payload=" or "p=" flags are found.
Signed-off-by: Nick Grauel <nicolas.grauel@plexxi.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
- use .TP for option and example labels
- use .BR for references to other manpages, also in description texts
- highlight options using .B in description texts
- misc. cleanups
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add Petr Machata for commit f6d450a5e405 ("mausezahn: Fix IPv6 address
comparison").
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
CMP_INT evaluates its arguments more than once, and thus passing a
post-incremented pointer as an argument causes double increments and
hence buffer overruns. This can be observed by erratic behavior of IPv6
address ranges. Fix by moving the increment to loop header.
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Commit e3e8eea41966 ("netsniff-ng: add date format strings to --out.")
introduced the possibility to specify time formats in the -o/--out
parameter. Document this in netsniff-ng(8)
Updates #158
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
This adds the ability to use date(1)/strftime(3) style format strings
when specifying an output file.
Example:
netsniff-ng --out %Y-%m-%d.pcap ### outputs to 2018-04-20.pcap
Fixes #158
Signed-off-by: Daniel Roberson <daniel@planethacker.net>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Add Daniel Roberson for 15f78c073276 ("mausezahn: fix strtok() segfault
if s or m are missing") via PR #189
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
The -d flag will result in a segmentation fault if 'm' or 's' are
specified without a numeric value.
Example: mausezahn -d m ### Results in a crash
Signed-off-by: Daniel Roberson <daniel@planethacker.net>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Support dissecting IPv6 headers into the îp6' trafgen protocol header
command.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Reported-by: @asavah
Fixes: 44ceece354c5 ("geoip: store GeoIP files in $(PREFIX)/share by default")
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
There is no need to explicity use the builtins. According to [1], GCC
will recognize mem{cpy,set} as built-in functions, unless the
corresponding -fno-builtin-* option is specified (which is not the case
for netsniff-ng).
[1] https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
This fixes the following GCC warning:
trafgen_parser.y: In function ‘cleanup_packets’:
trafgen_parser.y:1479:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (k = 0; k < hdr->sub_headers_count; k++)
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
They are opened in main_loop which is only executed in the child(ren),
so close them there again. This avoids closing the devices twice, which
may lead to segfaults.
Fixes #188
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
The /etc directory shouldn't contain non-human-readable files.
netsniff-ng (when called with the '-U' option) currently installs the
GeoIP database files to /etc/netsniff-ng by default.
Change this to install them to $(PREFIX)/share/netsniff-ng instead,
which is conformant to the FHS [1].
[1] https://wiki.debian.org/FilesystemHierarchyStandard
Also create the respective directory in the 'make install' target.
Fixes #187
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Use xzmalloc_aligned instead of open-coding it.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
bpf_parse_rules is not called in a fast path, so just use the plain
memset/memcpy and let the compiler decide whether they should be
replaced.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Adds a first rudimentary support for the DCCP protocol.
Signed-off-by: Markus Amend <markus.amend@telekom.de>
[tk: minor formatting tweaks]
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
There is missing logic which removes flow entry from
related proc's entry while destroying global flows list on
filter reloading, hence add common __flow_list_del_entry which
handles this logic for both cases - when ct destroyed or filter
changed.
This is a 2nd fix for issue #183.
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Use plural to match the "Flows" tab and because it usually shows
multiple processes.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Use cds_list_del_rcu for safer deletion flow from the process flow
list to prevent possible use-after-free by UI thread when it is
refreshing the processes.
It may fix the #183 issue.
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
currently, after dinc(), the valued stored inside the packet is
not in the (min, max) range but in the (0, max - min + 1) range,
'counter->val' should be used instead of 'val'.
Additionally the values computed for ddec() are corrupted, in:
val = (val - counter->inc) % (counter->min - counter->max + 1);
the divider is negative, we should use (counter->max - counter->min + 1)
as in the INC case.
Finally we can avoid the switch statement at update time, inverting
the value of 'counter->inc' for decrement and using a data type wide
enough for the 'inc' field.
v1 -> v2:
- changed 'counter->inc' type to int
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Avoid having a 58 entry array on stack of which only 3 are ever used.
Just look up the short protocol identifier via a good'ol switch.
Fixes Coverity CID 1381806
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|