./net/scamper, Tool for parallelised IPv4 and IPv6 measurement

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 20141211d, Package name: scamper-20141211d, Maintainer: mjl

Scamper is a program that conducts Internet measurement techniques such
as ping and traceroute to large numbers of IPv4 and IPv6 addresses in
parallel to fill a specified packets-per-second rate.

Required to build:

Master sites:

SHA1: be652cd601215de129e20c339d914ac17836dd5c
RMD160: d509a103371b85775e4c7b4ee4a23dcabf4643ca
Filesize: 1431.268 KB

Version history: (Expand)

CVS history: (Expand)

   2016-01-16 17:13:15 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
Update net/scamper to 20141211d.
Patches provided by Matthew Luckie in PR pkg/50654.

https://mailman.caida.org/pipermail/sca … 00004.html
https://mailman.caida.org/pipermail/sca … 00005.html
https://mailman.caida.org/pipermail/sca … 00006.html

* add support for initial congestion window (ICW) inferences
* add new tests to check response to packets that could have been
  sent by a blind attacker
* add a TCP fast-open implementation, with both experimental
  and official option values
* add support for testing HTTPS and BGP.  drop FTP, DNS, and SMTP
* add sc_tbitblind driver that was used for IMC 2015 paper

* add tx timestamp to hop records
* add dl option, to replace dlts option removed from scamper.
* process UDP responses, if a UDP probe method is used.

* add tcp-syn ping method.
* fix memory leak when payloads are specified in ping.

* report IPID values from traceroute measurements, where available
* report the source IP address used to probe the destination

* add a new scamper driver to test systems for congruent filtering policy
  http://www.caida.org/tools/measurement/ … licy.1.pdf

* update scamper maximum PPS to 10,000 (from 1000).  Its not 2002 anymore.
* bind to requested source port with UDP sockets.
* set SO_SNDBUF once, when a probe socket is created.
* remove dlts option which was only used by traceroute.
* drop divert socket from privsep, which was not used in scamper anywhere.
* shift socket creation glue from scamper_privsep.c to
  scamper_udp4.c, scamper_icmp6.c, etc.
* fix memory leak when receiving TCP responses in tracelb.
* do not use the global address cache in tracelb: use a local one.
* in qsort with 3-way partition, do not compare items against
* improve performance of warts_addr_t code
* use calloc instead of malloc() -> memset(0) on systems where calloc
  is available.
* do not use the global address cache in ping: most responses are
  either from the destination, or from the same IP address, so
  optimize for that.
   2015-12-28 13:15:19 by Benny Siegert | Files touched by this commit (3) | Package updated
Log message:
Update net/scamper to 20141211a. From maintainer in PR pkg/50138.

From https://rommie.caida.org/pipermail/scam … 00003.html

* provide the ability for scamper's control socket to bind to a
  specific address.  this allows external systems to contact and drive
  scamper processes.  a more secure solution will follow in a month or

* when converting the source port of a control socket client to a
  string, print it in host byte order rather than network byte order

* add a TBT (too-big-trick) option to ping, use it in sc_speedtrap.  a
  simple optimisation to send up to M packets to get N fragmented

* if an input list to sc_speedtrap contains the same IP address twice,
  ignore the duplicate address, rather than crash later.

* use a quicksort with a 3-way partition.  will make scamper more
  efficient in many places.

* add sc_warts2csv for samknows

* fix sc_tracediff so that it doesn't crash if the two warts files
  being compared traceroute to different sets of addresses.  reported
  by Job Snijders.
   2015-11-04 01:35:47 by Alistair G. Crooks | Files touched by this commit (748)
Log message:
Add SHA512 digests for distfiles for net category

Problems found with existing digests:
	Package haproxy distfile haproxy-1.5.14.tar.gz
	159f5beb8fdc6b8059ae51b53dc935d91c0fb51f [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]

Problems found locating distfiles:
	Package bsddip: missing distfile bsddip-1.02.tar.Z
	Package citrix_ica: missing distfile citrix_ica-10.6.115659/en.linuxx86.tar.gz
	Package djbdns: missing distfile djbdns-1.05-test25.diff.bz2
	Package djbdns: missing distfile djbdns-cachestats.patch
	Package djbdns: missing distfile 0002-dnscache-cache-soa-records.patch
	Package gated: missing distfile gated-3-5-11.tar.gz
	Package owncloudclient: missing distfile owncloudclient-2.0.2.tar.xz
	Package poink: missing distfile poink-1.6.tar.gz
	Package ra-rtsp-proxy: missing distfile rtspd-src-
	Package ucspi-ssl: missing distfile ucspi-ssl-0.70-ucspitls-0.1.patch
	Package waste: missing distfile waste-source.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2014-11-16 06:17:24 by Mark Davies | Files touched by this commit (2) | Package updated
Log message:
Update scamper to 20141101  (PR pkg/49353)

* fix passing file descriptors through sockets on NetBSD, so that
   scamper can actually work with privsep on NetBSD.
 * use arc4random on all platforms where available.  silences build on
 * increase size of flags array for warts_dealias_data_t so that all
   of the prefixscan flags can fit.  pointed out by OpenBSD gcc.
 * silence build on NetBSD by casting parameter to isspace from char
   to int.
 * silence a couple spurious clang scan-build warnings with assert

In this Halloween release of scamper:

* work to make scamper compile and work on windows again.  use
  O_BINARY so that output warts files are not corrupted, set the timer
  granularity to 1ms, and handle polling/reading files outside of
  select().  Thanks to Philip Ramsey of Renesys for reporting these
  bugs and supplying the O_BINARY and timer fixes.  as part of trying
  to track down the output corruption I added malloc_zero everywhere,
  in vain, but kept it in scamper out of an abundance of caution.
* detangle scamper_fd_t from scamper_writebuf_t.
* in ping,
  - set a timeout after sending a PTB
  - print reply_ipid in json output for ipv6 echo replies, bump
    json version.
* update scamper -O options in the usage statement, and in the
  manual page

* FreeBSD 10 onwards no longer byte swaps some fields in the quotation of
  a received ICMP error message.  chase this in scamper.
* Minor modifications to make scamper compile on Windows 7 using
  Visual Studio Express 2013 for Windows Desktop.
* print ping flags in sc_wartsdump and scamper's json output.
 email alias tied to this mailing list, please let me know.

* allow scamper to be built in debug mode on FreeBSD after version 10.
* in scamper-ping, support a probe frequency smaller than once every
  second.  minimum is now once a millisecond.
* handle fragmented responses in linux and sunos correctly.
  this is important for IPv6 IP-ID based alias resolution techniques
  (e.g. speedtrap, ally, radargun) on those platforms.
* numerous bugfixes and improvements to sc_ally pair-wise alias
  resolution utility, the most important being that it will reliably
  complete now.
   2014-01-26 11:28:49 by Mark Davies | Files touched by this commit (2) | Package updated
Log message:
Update scamper to 20140122

from PR pkg/48546

* many slight improvements to the implementation of the 'ally' alias
  resolution algorithm.
* add flag to prefixscan that says the alias was inferred using a common
  source address
* for json output, print flags, bump version.

* record ICMP parameter problem responses to ping.
* for json output, print tx time on probes.

* add support for starting as a daemon.
* add support for specifying a command which will be used with each address
* document these options in manual page

* update manual page to document unintuitive behaviour of -e option.

* getopt returns an int, not a char.  important on arm.  fixed in
  sc_wartscat, sc_speedtrap, and sc_analysis_dump,
* silence benign warnings from clang on MacOS and cppcheck.
   2013-08-26 22:46:02 by Mark Davies | Files touched by this commit (4) | Package updated
Log message:
Update scamper to 20130824.  Scamper's homepage (and code) has shifted.
PR pkg/48156

* add a sc_warts2json utility program that prints out JSON renderings
  of trace, ping, and dealias objects in scamper warts files.  this is
  useful when developing simple analysis programs in perl.  the
  initial implementation of JSON output for ping and trace was
  supplied by Internap.  Thanks a lot Internap!

* add a sc_speedtrap utility program that resolves a set of IPv6
  interfaces for aliases (which interfaces belong to the same router).
  documented in sc_speedtrap(1) man page.

* add a sc_ipiddump utility program that prints out all IPIDs received
  in ping and dealias objects.  documented in sc_ipiddump(1) man page.
  in ping and dealias objects.  documented in sc_ipiddump(1) man page.

in scamper:
* output json objects with -O json
* add -O debugfileappend, causing the debugfile to be appended to
  rather than truncated
* do not output debugging information to stderr if NDEBUG was
* drain fds that are not used by any measurement but have not been
  closed yet
* improve the use of poll()
* allow a control socket client to specify its mixing priority
* correctly interpret the neighbour discovery cache sysctl on MacOS.
* fix build on MacOS systems without IPFW.
* fixes prompted by clang static analysis.
* fixes prompted by clang static analysis.

in sc_analysis_dump:
* improvements to the comment header printed automatically at the start
* add -M option to print out MPLS headers in ICMP extensions.
* add -Q option to print out Quoted IP TTL
* add -T option to print out the IP TTL of the response packet

in scamper-ping
* implement stats function so that the stats printed are not junk
* add an -M <mtu> option which causes scamper to send a PTB in
  response to a packet larger than the given size.
* add a -P icmp-time option which causes ping to send ICMP timestamp

in scamper-sting:
* various improvements in the hole filling phase.
* add -U <userid>

in scamper-dealias:
* implement IPv6 support for Ally and RadarGun which is induced by
  sending ICMP echo packets larger than a given pseudo MTU size
  (causing a responses to be fragmented and thus an ID field revealed.
* implement IPv6 support for Mercator
* be more strict in declaring two interfaces to be aliases: infer
  the byte ordering by determining if the shortest distance in a
  sequence of ID values is in byte-swapped or not, and then using
  that byte ordering mode.
   2012-10-23 19:19:22 by Aleksej Saushev | Files touched by this commit (671)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
   2012-04-16 08:09:48 by Mark Davies | Files touched by this commit (3) | Package updated
Log message:
Update to 20111202b  (PR pkg/46330)

* provide documentation for libscamperfile
* fix ping -O spoof
* fix tracelb and sniff bugs that cause scamper to crash
* fix sc_analysis_dump, sc_warts2pcap, and sc_wartscat man pages
* fix sc_warts2text to read from stdin if no files specified
* add -a (all) -m (pair method) and -n (use dns) options to sc_tracediff

* initial draft of a man page for the warts file format.
   man 5 warts.
* provide -O copyout option to scamper itself, which allows all
   data written over the control socket in "attach" mode to also
   be sent to a named file.  useful for debugging.  documented
   in the scamper man page.
* provide ability to specify the source address of a PTB in tbit.
* in attach mode, each command now returns a command ID as part
   of the OK response.  a command may be halted before it completes
   by issuing a halt command over the same control socket.
* when sanity checking the probe size requested in ping, take
   account of the timestamp IP option correctly.  noticed by

* fix scamper man page to say -d can be used to set the ICMP checksum
   value in Paris traceroute.  noticed by Alistair.
* add scamper_addr_netaddr, a routine to mask the network portion of
   an IP address in a scamper_addr_t.
* fix scamper's ping to actually set the tos byte that is passed in.
   noticed by Alistair.
* fix scamper's ping to record ICMPv6 PTB messages.
* fix the result code set on sniff tasks when a sniff task is halted.
* fix compiler warnings

* correct copyright notices to reflect that, until 2006,
   I have copyright.  No change to GPLv2 license.
* Switch from select(2) to poll(2) by default, which is useful
   when more than a thousand fds are monitored for events.
   Force the use of select instead of poll by invoking scamper
   with -O select.
* Add support for kqueue (BSD) and epoll (Linux).  To use,
   specify -O kqueue or -O epoll when scamper is invoked.
* Fix a bug that could allow scamper to enter an infinite
   loop if a packet with malformed IP options is received.
* Add support for raw IP sockets, and use these to send
   TCP probes in traceroute if the datalink socket can't be
   used to transmit.
* Set SO_REUSEADDR on TCP sockets.
* Add a new traceroute method: IPv6 fragment traceroute.
   specify the offset to encode in the fragment offset with -o
* Fix file support so that if '-' is specified as the source of
   addresses to probe stdin is read, rather than stdout.  ensure
   the file is closed if an error is encountered when opening a
* Fix bug in MDA traceroute where some TCP responses from the
   target were ignored.
* Fix a potential memory leak in the neighbour discovery code
* Implement code to calculate statistics (min/mean/max/stddev)
   on ping results.
* Detach the writebuf before closing an attached control socket
* Silence all clang static analysis warnings.

* do not output scamper_debug to stderr if NDEBUG has been specified
* fix logic when -O rawtcp is used with tcptraceroute
* fix scamper event loop to drain sockets that are currently
* fix scamper event loop to handle POLLHUP
* fix double-frees in scamper_sources.c
* fix small memory leak in scamper_sources.c, noticed by Stephen
* fix uname_wrap on 64bit systems, noticed by Stephen

* do not print "cat" when the -e option is used with sc_analysis_dump.
* fix mixing of sources according to their priority.
* when building the scamper binary, do not use the libscamperfile
   library.  instead, build all code into scamper to ensure scamper
   itself will always work.