Send copies of (UDP) datagrams to multiple receivers, with optional sampling and spoofing
C Shell Other
Latest commit 63d550a Jul 10, 2017 @sleinen committed on GitHub Merge pull request #50 from cfsmp3/master
Added parsetest tests for range specification, replaced return values as requested
Permalink
Failed to load latest commit information.
ocf-ra OCF RA: add Open Cluster Framework Resource Agent Mar 22, 2017
AUTHORS Credit Charles Bueche for the systemd startup script Apr 19, 2017
COPYING Initial revision Jan 19, 2000
ChangeLog Added changes for 1.3.4 and 1.3.5. Mar 8, 2009
INSTALL.md correct order for command-line option, doc Apr 19, 2017
Makefile.am Add the missing foreign for automake and added autogen.sh Apr 1, 2015
NEWS Document 1.3.7 non-release and 1.3.8 not-yet-release Apr 28, 2015
README.md Fixed hardcoded PDU length (1500) which is now configurable Jun 30, 2016
autogen.sh Removed trailing whitespace from lines Apr 28, 2015
configure.ac Bumped version to 1.3.8rc1 Apr 28, 2015
inet.c Document -4 and -6 options in the usage string and README. Apr 24, 2012
inet.h Compute address resolution hints based on configuration options. Oct 20, 2011
inet_aton.c (main): Properly terminate when reaching end of input. Sep 18, 2011
parsetest.c read_config.c: Replace some return 1 with return -1 Jul 10, 2017
rawsend.c Added basic IPv6 support. In all places where IPv4 addresses were Sep 25, 2011
rawsend.h Added basic IPv6 support. In all places where IPv4 addresses were Sep 25, 2011
rawtest.c Added basic IPv6 support. In all places where IPv4 addresses were Sep 25, 2011
read_config.c read_config.c: Replace some return 1 with return -1 Jul 10, 2017
read_config.h Increased maximum line length from 1000 to 8000 characters, so that a Sep 25, 2011
samplicate.c Added parameter -t (to exit on no data received for n milliseconds) Apr 19, 2017
samplicator.h Added parameter -t (to exit on no data received for n milliseconds) Apr 19, 2017
samplicator.service correct order for command-line option, doc Apr 19, 2017
vladimir.diff Fixed a few typos. Sep 18, 2001

README.md

UDP Samplicator

This small program receives UDP datagrams on a given port, and resends those datagrams to a specified set of receivers. In addition, a sampling divisor N may be specified individually for each receiver, which will then only receive one in N of the received packets.

DOWNLOADING

This package is distributed under https://github.com/sleinen/samplicator/

INSTALLATION

See INSTALL.md.

AUTHORS

See the AUTHORS file.

USAGE

The usage convention for the program is

$ samplicate [<option>...] [<destination>...]

Where each <option> can be one of

-d <level>	to set the debugging level
-s <address>	to set interface address on which to listen
		for incoming packets (default any)
-p <port>	to set the UDP port on which to listen for
		incoming packets (default 2000)
-b <buflen>	size of receive buffer (default 65536)
-c <configfile>	specify a config file to read
-x <delay>	to specify a transmission delay after each packet,
	    in units of	microseconds
-S		maintain (spoof) source addresses
-n		don't compute UDP checksum (only relevant with -S)
-f		fork program into background
-m <pidfile>	write the process ID to a file
-4		IPv4 only
-6		IPv6 only
-h		to print a usage message and exit
-u <pdulen>	size of max pdu on listened socket (default 65536)

and each <destination> should be specified as <addr>[/<port>[/<interval>[,ttl]]], where

<addr>		IP address of the receiver
<port>		port UDP number of the receiver (default 2000)
<freq>		number of received datagrams between successive
		copied datagrams for this receiver.
<ttl>		The TTL (IPv4) or hop-limit (IPv6) for
		outgoing datagrams.

Config file format:

a.b.c.d[/e.f.g.h]: receiver ...

where:

a.b.c.d     is the sender's IP address
e.f.g.h     is a mask to apply to the sender (default 255.255.255.255)
receiver    see above.

Receivers specified on the command line will get all packets, those specified in the config-file will get only packets with a matching source.