Commit graph

4 commits

Author SHA1 Message Date
markd
3730b4ea72 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.
  http://www.caida.org/~mjl/pubs/speedtrap.pdf

* 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
  specified
* 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
  requests.
  requests.

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.
2013-08-26 20:46:02 +00:00
markd
83ff77490a 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
   Alistair.

* 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
   file.
* 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
   unreferenced
* 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.
2012-04-16 06:09:47 +00:00
obache
c333325e10 Update scamper to 20110421.
patch provided by Matthew Luckie via PR#44919.

A lot of changed in scamper since 2008.
For some idea about what is in scamper today, please check the website,
in particular the scamper man page.
2011-04-30 11:35:26 +00:00
rpaulo
e43720de1c scamper is a program that conducts traceroute to large numbers of IPv4
and IPv6 addresses in parallel to fill a specified packets-per-second rate.

scamper can do ICMP based Path MTU discovery. scamper starts with the
outgoing interface's MTU and discovers the location of PMTU bottlenecks.
Recent revision of scamper do a PMTU search when an ICMP fragmentation
required message is not returned to establish the PMTU to the next point
in the network, followed by a TTL limited search to infer the hop
where failure appears to occur.

Reviewed by Johnny Lam.
2005-09-29 18:02:20 +00:00