Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: scamper | Distribution: openSUSE Leap 16.0 |
Version: 20240920 | Vendor: openSUSE |
Release: lp160.1.1 | Build date: Mon Sep 23 09:17:26 2024 |
Group: Productivity/Networking/Diagnostic | Build host: reproducible |
Size: 3949413 | Source RPM: scamper-20240920-lp160.1.1.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://www.caida.org/catalog/software/scamper/ | |
Summary: Parallel Internet measurement utility |
Scamper is a program that is able to conduct Internet measurement tasks to large numbers of IPv4 and IPv6 addresses, in parallel, to fill a specified packets-per-second rate. Currently, it supports the well-known ping and traceroute techniques, as well as MDA traceroute, alias resolution, some parts of tbit, sting, and neighbour discovery. Scamper can do ICMP-based Path MTU discovery. scamper starts with the outgoing interface's MTU and discovers the location of Path MTU bottlenecks. scamper performs a PMTUD 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 where the failure appears to occur. This also contains the Python module.
GPL-2.0-only
* Mon Sep 23 2024 Sebastian Wagner <sebix@sebix.at> * update to version 20240920: * scamper: * add -O noring to disable use of ring buffer on Linux when scamper is configured with --enable-scamper-ring * udpprobe: add -S src parameter, update manual page with previously supported but undocumented options * sc_prefixprober: * allow do-not-probe list to be embedded in the input set of prefixes to probe, update manual page. * add -v to emit version of scamper release the sc_prefixprober utility came from * Python module: * add src parameter to ScamperCtrl.do_udpprobe * update to version 20240916: * scamper: * with ping -F 0 and trace -s 0, choose a different TCP or UDP source port if an otherwise available source port has been used in the past 5 seconds to the same destination IP and port. * ping: add udp-sport probe method * ping: refactor udp packet matching on datalink sockets * allow -D when outputting to a file. * use SO_TIMESTAMP on linux packet sockets, rather than call an ioctl, to fix buggy linux timestamps when not using ring * rework privsep code to be signal aware, and forward signals from scamper's privileged process to scamper's unprivileged process via the socketpair between the processes. i.e., scamper -D -U /path/to/scamper-unix-socket -e /path/to/scamper.pid kill -HUP `cat /path/to/scamper.pid` now works. TERM and INT also propagate from privileged to unprivileged process. this allows the user that started scamper to send signals to the privileged process, which it then forwards to unprivileged process. the user who started scamper is otherwise not able to send the unprivileged process signals, as that process typically runs as user nobody. * host: add -O nsid to signal queried server to include nsid OPT record in response. parse any server-provided OPT records. * udpprobe: record ifname replies were received on * udpprobe: increase supported probe size from 1000 to 1400 bytes. * factor out most repeated tls code patterns into utils_tls.c * add functions to utils_tls.c to load key material from opened file descriptors, to allow key material to be reloaded in unprivileged process * reload TLS key material on HUP signal * do not negotiate use of TLS v1.1 * refactor privsep code to make it obvious which functions belong to which process, and develop an obvious pattern in the code. * make route socket interface work on NetBSD again * tracelb: fix sport validation * other minor code cleanups * sc_minrtt: * thread input stage, add batch import. by default, sc_minrtt will import N files per batch, where N is the number of processors online. * add -b batchc parameter that allows for batch size to be adjusted according to what is appropriate for the system * set exit status to zero when import is successful * add -v to emit version of scamper release the utility came from * refactor code in places * libscamperfile: * bump version to account for added interfaces for udpprobe, host objects. * Python module: * add nsid option to ScamperCtrl.do_dns method * add ScamperUdpprobeReply.ifname attribute * add OPT glue to ScamperHost, and related features (udpsize, edns_version, edns_do attributes) * add context manager support to ScamperFile and ScamperCtrl, allowing for Python with / as syntax * sc_bdrmap: * change -v vp-ases option to -V vp-ases * add -v to emit version of scamper release the utility came from * sc_attach, sc_hoiho, sc_remoted: * add -v to emit version of scamper release the utility came from * sc_wartsdump: * update for new udpprobe, host features. * tests: * add unit_cmd_tracelb, contributed by Marcus Luckie. * add unit_ping_lib, check scamper_ping_reply_is_from_target * add unit_host_warts, check OPT record reading and writing. * expand unit_dl_parse_ip tests * documentation: * update python module documentation to reflect changes * update scamper, sc_attach, sc_bdrmap, sc_hoiho, sc_minrtt, sc_pinger, sc_remoted manual pages to reflect changes * Mon Aug 19 2024 Steve Kowalik <steven.kowalik@suse.com> - Remove upper bound on Cython, Cython 3 appears to be supported. * Sat Aug 17 2024 Sebastian Wagner <sebix@sebix.at> - update to version 20240716: * scamper * add -O dl-any option to scamper, which causes scamper to open a cooked datalink interface bound to "any" on Linux. Note that scamper's implementation of -O dl-any currently prevents transmission of packets on the datalink socket, but this will change in the future. * add -O dyn-filter option to scamper, which causes scamper to dynamically adjust the BPF filter that it configures on a datalink socket according to TCP/UDP ports that scamper is using. this option is only available on Linux, and BSD systems with BIOCSETFNR (FreeBSD and MacOS). note that both -O dyn-filter and -O dl-any cannot currently be used at the same time, but this will change in the future. * only raise SO_SNDBUF and SO_RCVBUF; some systems (e.g. Linux) already have larger socket buffers than scamper's defaults. * add -O sockrx to ping, to force ping to receive ICMP responses over a regular socket, even when using -O dl (which still records datalink transmit timestamps). * speed up receiving on datalink sockets by avoiding unnecessary memsets and removing unused fields, and adjust BSD, Linux, DLPI code to follow similar code patterns. * consider both directions for TCP packets on datalink sockets, allowing datalink transmit timestamps to be recorded for non TCP-syn packets. * avoid processing duplicate copies of the same packet on Linux loopback interface with datalink sockets. * remove "observe" functionality from scamper control socket, as signalled over a year ago. "outfile" and "source" will be removed from the control socket in the future. * cleanup scamper_dlhdr.[ch], use scamper_dlhdr_t to scamper_probe_t instead of its constituent parts. * update tbit usage statement in scamper, and manual page, with currently supported options * python module: * use join to assemble command strings for all ScamperCtrl.do_*() for orders of magnitude faster command generation * implement __richcmp__ for all classes where __eq__, __lt__, etc, were previously defined individually * if string passed to ScamperAddr is invalid, raise an exception * implement ScamperCtrl.do_tbit method, ScamperTbit classes * sc_minrtt: * add sc_minrtt utility, which takes the output of sc_pinger to produce a minimized RTT input file for sc_hoiho. to build, pass - -enable-sc_minrtt as well as --with-pcre or --with-pcre2 to configure, and have sqlite3 development headers and libraries in build environment. * tests: * more ping and tbit command unit tests * split out ARP reply parsing code into dl_parse_arp, add fuzzing cradle. - update to version 20240725: * scamper: * add dynamic BPF filters for linux "any" packet interface, allowing both -O dyn-filter and -O dl-any. * avoid generating debugging statements that won't be emitted, saving CPU in the usual scamper operating mode. * process dltx timestamps when -N > 1 and tx timestamp is available after the response has already arrived * don't allow TCP traceroute and -N > 1 because packet matching responses from the destination is challenging. * use scamper_seteuid_[raise|lower] in scamper when built without privsep, rather than use a repeated code pattern. * configure: * add --enable-scamper-ring to configure to make -O ring the default * python module: * take account of stop_hop when iterating through traceroute hops, add ScamperTrace.stop_hop attribute. * add ScamperTrace.addrs() convenience method, which returns unique addresses observed in the path * add ScamperHost.ans_ptrs() convenience method, which returns the text from PTR records in a response * update documentation: https://www.caida.org/catalog/software/scamper/python/ * sc_analysis_dump: * drop geolocation code from utility, which was not plumbed into configure. * tests: * add check-ifdef.pl to check for obvious #ifdef bugs - update to version 20240813: * scamper: * properly set icmp_id on ICMP probe signature in ping when -F 0. * reduce code duplication in scamper_fd.c by replacing fd_udp() and fd_tcp() with fd_tcpudp(). * process IPv6 TCP replies in dealias. * simplify BPF logic, support unit testing of dl_filter_compile. * fix 20240725 regression to actually call scamper_debug logic for datalink packets. * python module: * raise exception if ScamperCtrl.do_*() is called on a ScamperInst that has signalled EOF. * add ScamperInst.is_eof() method. * configure: * check for tcp_timer.h in configure, use if found, to fix check for tcp_var.h. * sc_pinger, sc_minrtt: * support batch probing with radargun primitive. * update sc_pinger manual page with batch probing details. * tests: * silence benign clang static analysis warnings. * add more ping command unit tests. * add unit_dl_filter_compile to test bpf compiler. * enhance check-ifdef.pl to find #define / #ifdef ordering issues, make pass through code to adjust header ordering. * Mon May 13 2024 Dominique Leuenberger <dimstar@opensuse.org> - Fix dependency of libscamperfile-devel: require the new libscamperfile9. The last updated bumped the so-version, which results in a different package name. - Drop all obsoletes of libscamperfile9: obsoleting old library packages is explicitly not to be done according to the packaging guidelines around shared libraries. * Sun May 05 2024 Sebastian Wagner <sebix@sebix.at> * update to version 20240503: * scamper: * improvements with -N squeries; let -Q send all probes when using -N. add -H wait-probe-hop, which specifies the minimum delay between probes with the same TTL. identify the hop that would have caused traceroute to stop when not using -N so that a normal traceroute path with one hop representing the destination or stopping hop in the path is rendered. in the json output, put extra hops beyond the stopping hop into a extra_hops array. * make ring-nolocked the default when using -O ring. * improvements with udpprobe: provide ability to send multiple copies of the same payload, add json output, reuse available UDP sockets where possible. * consistently set and record the IPv4 tos and IPv6 tclass fields for both ping and trace. * fix warts.bz2 and warts.xz output, which could previously use all available space on the file system. * speed up rendering of byte arrays as hex in json output. * fix obtaining IPv6 hoplimit on received packets on MacOS. * record the name of the interface that received IPv4 and IPv6 ICMP responses in ping. * add TXT queries to host command; add chaos query class; add DNS-over-TCP. * fix use of ctype functions according to netbsd (cast all parameters to unsigned char). make pass through use of ctype functions to do ctype function calls last in most logical statements. * cleanup scamper_file_warts.h so that only necessary struct definitions are in that header. * libscamperfile: * add new functions, bump library version due to udpprobe changes. * python library * improve the usefulness of the ScamperInstError exceptions * let all address parameters to do_() methods also be ScamperAddr * support creation of ScamperAddr from bytes objects * updates to support new functionality in udpprobe primitive * support RR filters on all sections of a DNS response * add tx, rx, and rtt attributes to DNS responses * add qtype=txt, qclass=chaos, tcp DNS queries, and ScamperHostTxt class. * add helper method to get ns and txt records out of ans section - - ans_nses() and ans_txts() * add rx and ifname attributes to ScamperPingReply * add ScamperDealiasProbe.is_from_target() method * configure: * remove obsolete AC_PROG_GCC_TRADITIONAL * fix net/pfvar.h conditional * sc_hoiho: * fix crashes in IP and FNU stages so that router name regular expression inferences work again. * sc_wartscat: * fix index into infiles array * tests: * add tests for string_byte2hex, and json escaping * add unit tests for TXT records * add fuzzing cradle for host_rr_list * in fuzz_cmd cradle, ensure any error strings only contain printable characters. * Sat Mar 16 2024 Dirk Müller <dmueller@suse.com> - update to 20240229: * bugfix: correct SCAMPER_DL_IS_ICMP_TIME_REPLY macro so that scamper does not ignore ICMP replies quoting TCP/UDP packets for 1/256 source port values. * bugfixes for -O icmp-rxerr: handle EPOLLERR on linux, try using IPV6_RECVHOPLIMIT before IPV6_HOPLIMIT for IPv6 udp probing. * bugfix: fix possible assertions in dealias, trace, and tracelb code. * ping: count UDP replies as from the target * trace: correct datalink timestamp adjustments * add more specific error messages when a scamper command is not accepted, return them over control socket or terminal, as appropriate. * scamper_fd_t: refactor fd_addr, fd_sport, fd_dl, fd_ifindex * scamper_fd_t: decouple udp4raw/udp4dg from each other. use udp4dg and udp6 sockets in udpprobe primitive, rather than have each udpprobe task create its own socket. * scamper_fd_t: add methods that return an available open socket for probing a given destination without blocking if another task is probing the same destination. use this with ping -F 0 and trace -s 0, instead of generating random port values, so that scamper opens the minimum number of file descriptors. * ping and trace: have -O dl mean to capture transmit and receive timestamps from a datalink interface. add -O raw option so that IPv4 TCP probes can be transmitted over a raw socket, to allow transmitted TCP packets to be observed on the datalink interface. * add memory-mapped ring buffer support (PACKET_RX_RING) for receiving packets on datalink sockets on Linux. enable at scamper runtime with -O ring. contributed by Alistair King. [#]# python module: * generate module .c with Cython 0.29.37, to enable module to compile with Python 3.11. * link against libpython * have all time parameters take either a timedelta or float/int. float/int parameters are all seconds. * add ScamperInstError exception which identifies the scamper instance and includes the error string returned by the instance. * reduce copying in methods that return bytes objects * add str method for ScamperInst - reenable python build * Tue Feb 06 2024 Sebastian Wagner <sebix@sebix.at> - Temporarily disable Python build because of incompatibility with Python 3.11 Reported upstream, will be fixed in next version. * Mon Feb 05 2024 Sebastian Wagner <sebix@sebix.at> - Update to version 20240122: * scamper * fix regression in 20240117 where trace -W 0 (probe as soon as there's a response) was not accepted, despite being the default. add unit test for this. * for trace, improve probe and reply matching of UDP packets * fix printing UDP responses to traceroute probes in scamper -O text output * for trace section of scamper.1 man page, document -O const-payload, and expand documentation for -O dl. * python module: * ship scamper release with a the C source code pre-generated for the python module, so that the build process does not require a cython installation. bootstrap.pl will build the C source code unless told not to via --without-cython * rename ScamperPing.reply_count to ScamperPing.stop_count, as the reply_count attribute meant something different on a ScamperPing object than what it means with ScamperDealiasProbe, etc * sc_remoted: * expand sc_remoted.1 manual page with information about validating scamper client TLS certificates, and how to use -M monitor-name. * Wed Jan 17 2024 Sebastian Wagner <sebix@sebix.at> - update to version 20240117: - scamper: - fix crashes if a task is provided an apparent response, but the task - has not yet sent a packet in ping, sting, tbit, trace, tracelb. - find and fix memory leaks in measurement command parsing code via - fuzzing. - add udpprobe, http, dealias -m midarest, and dealias -m midardisc methods. - udpprobe and http do not currently have json output methods. - remove -d dport, -s sport, and -t ttl dealias parameters. these - were only valid for mercator, and can be specified in a probedef instead. - record size of responses for dealias probes. - modify all commands to be able to take human-friendly wait parameters -- - e.g. trace -W 0.5s or trace -W 500ms instead of trace -W 50000. - support transmitting raw packets on linux ppp interfaces - add -b payload-size parameter to ping - python interface: - add python interface to most of scamper. building this module requires - cython < 3.0. to build, use something like: - PYTHON=/path/to/python CYTHON=/path/to/cython ./configure --with-python - the documentation for this interface is available at - https://www.caida.org/catalog/software/scamper/python/ - the ubuntu PPA provides python3-scamper, and the FreeBSD port should - hopefully provide py-scamper shortly. these sources may be useful - for getting the module packaged for other operating systems. - https://launchpad.net/~matthewluckie/+archive/ubuntu/scamper - libscamperfile and libscamperctrl: - improvements, bump versions - tests: - many new unit tests and fuzzing cradles for scamper components - sc_pinger: - add -l limit and -M move-dir options - sc_remoted: - no need to link against libscamperfile, remove dependency - sc_attach, sc_filterpolicy, sc_prefixscan, sc_wartsfix: - compile / link on windows. * Fri Nov 10 2023 Dirk Müller <dmueller@suse.com> - update to 20230614d (bsc#1217032): * fix buffer overflow when parsing TCP packets where the sender includes a TCP fast open cookie larger than 16 bytes * Sat Oct 07 2023 Sebastian Wagner <sebix@sebix.at> - update to version 20230614c: - scamper: * fix compile-on-windows support; use icmp-echo probes instead of UDP probes for traceroute on windows; provide "attach" support on windows. * fix compile-on-FreeBSD-15+ where pf firewall does not have DIOCGETSTATUS ioctl * in scamper's remote control (-R option), fix file descriptor leak when unable to reconnect to the remote controller. * add --disable-scamper-trace --disable-scamper-ping - -disable-scamper-tracelb --disable-scamper-dealias - -disable-scamper-tbit --disable-scamper-sting - -disable-scamper-sniff --disable-scamper-host configure options to build scamper without specific measurement capabilities. - sc_attach: * add windows support * Sun Aug 13 2023 Sebastian Wagner <sebix@sebix.at> - update to version 20230614b: - scamper: * fix handling of EPOLLHUP on client disconnection -- Linux-specific (scamper -U /path/to/socket) - libscamperctrl: * fix handling of disconnected instances * Wed Aug 09 2023 Sebastian Wagner <sebix@sebix.at> - update to version 20230614a * configure: * better tests for zlib, libbz2, and liblzma that check for both libraries and headers. * change --with-sc_uptime, --with-sc_hoiho, and --with-tests to be - -enable-sc_uptime, --enable-sc_hoiho, and --enable-tests * disable maintainer mode, pass foreign to AM_INIT_AUTOMAKE * scamper: * remove reading regular files from poll/select/epoll/kqueue path, which fixes reading regular input files (-f option to scamper) using epoll or kqueue * fix reading stdin as input (-f option to scamper) when using epoll (catch EPOLLHUP) * add DNS server to host signature, add host path for scamper_task_find * rework scamper_osinfo to work with malformed release names (uname -r) * dealias: do not crash on malformed prefixscan and bump commands * dealias: fix memory leak of probedefs on malformed commands * sting: fix memory leak of recorded packets * remove tsps input method (-O tsps option to scamper) * update manual page * libscamperctrl: * link against list.o and splaytree.o so that the library is self-contained * fix memory leak when task is not accepted * API improvements * libscamperfile: * fix memory leak when reading SOA/MX from warts file * fix memory leak when reading PMTUD traceroute structures from warts file * sting: fix memory leak of recorded packets * sc_analysis_dump, sc_warts2pcap, sc_wartscat, sc_wartsfilter: * link against list.o/utils.o so that these utilities are not reliant on those symbols being exported from libscamperfile * sc_prefixprober: * allow compression type to be specified using -O * free scamper_addr_t as each are removed from the list to probe * sc_remoted: * catch EPOLLHUP with epoll * sc_warts2text: * fix memory leaks * sc_wartsdump: * fix memory leaks * link against utils.o so that sc_wartsdump is not reliant on those symbols being exported from libscamperfile * Tue Jun 13 2023 Sebastian Wagner <sebix@sebix.at> - update to version 20230605: * HEADSUP: if you previously used -e pidfile to record the pid of a running scamper process, there is a good chance that the pidfile is owned by root. scamper now attempts to write this file using the uid that started scamper, and will not be able to write it if scamper is not started by root (it should not be, rather the scamper binary should be setuid root). Please delete the existing pidfile, or change its ownership, prior to restarting scamper, or scamper will not start. * scamper: * write a process ID that the user that started scamper can kill in the pidfile when using privsep. * when using privsep, exit the unprivileged process if the privileged process exits (is killed) * run as real uid from the start of scamper, for both privsep and not-privsep. * fix bug where attempting to open an unsupported datalink would leave a freed scamper_fd_t in the fd_tree and fd_list, leading to a crash. * fix double free triggered when a user provides an invalid dealias command. * fix memory leak if the payload was specified twice to ping or trace * rework pollfunc selection logic, use kqueue/epoll by default. * remove _malloc_options = "AJ" as this only works on unsupported versions of FreeBSD. * add additional paramaters to attach command to allow the user to override list and cycle parameters, documented in manual page. * catch EAGAIN/EINTR from select/kqueue/epoll to allow gdb to attach and detach without flagging errors. * for DNS replies for host command, record reply flags and rcode. * add support for SOA and NS queries in host. * add a JSON output for host measurements. * do not let scamper emit warts to a tty. check for isatty in configure. * only allow -O and -z to be specified multiple times in a trace command * only allow -O to be specified multiple times in a ping command * split command parsing logic out from task probing logic. add fuzzing cradle for parsing logic for all measurement types, and basic unit tests for dealias, ping, and trace parsing logic. * autodetect output type by file extension if output type is not explicitly specified on the command line. * libscamperfile: * remove all struct definitions from libscamperfile (e.g. scamper_trace, scamper_ping, scamper_addr, etc). provide typedefs for each (scamper_trace_t) and _get() functions that return the field requested. This change will allow hopefully allow libscamperfile's version to stabilize. all scamper utilities now use these get functions. * shift some functions that were previously implemented in libscamperfile into the one place they were used, if they were only used in (for example scamper / sc_analysis_dump / other scamper utility). delete other functions that were not used anywhere in the public scamper release. * libscamperctrl: * fix bug by ensuring line_off is always valid after the read. * catch EAGAIN from select. * add kqueue support. * add scamper_attp_* routines to allow applications to specify list and cycle parameters. * for scamper_inst_do, take a parameter to keep with each task. * add scamper_task_getparam function to get the parameter. * add scamper_task_getcmd function to get the command associated with a task. * use TYPE_FATAL instead of TYPE_ERR in application callback when scamper_inst_read encounters a fatal error, only use TYPE_ERR when scamper does not accept a command. * sc_prefixprober: * new driver to conduct measurements (ping, trace, tracelb) to an address in each prefix. * sc_ally: * use scamper_file_t outfiles, add ability to write gz/bz2/xz files. * ask for cycle-start and cycle-stop records, write them out. * improve use of libscamperctrl. * sc_hoiho: * add support for VP geohints, document. * silence -Wshadow. * silence warnings related to assignments that are not used. * sc_ipiddump: * fix memory leak when user specifies invalid command line options. * sc_filterpolicy: * ask for cycle-start and cycle-stop records, write them out. * improve use of libscamperctrl. * sc_pinger: * signal done to get cycle stop record. * improve use of libscamperctrl. * document remote socket option. * sc_prefixscan: * use scamper_file_t outfiles, add ability to write gz/bz2/xz files. * ask for cycle-start and cycle-stop records, write them out. * improve use of libscamperctrl. * sc_remoted: * catch EAGAIN from select. * sc_speedtrap: * ask for cycle-start and cycle-stop records, write them out. * improve use of libscamperctrl. * sc_uptime: * silence -Wshadow. * silence warnings related to assignments that are not used. * fix memory leak in up_reboots_doone. * sc_warts2json: * fix memory leak with cycle start/stop records. * emit json for host records. * sc_wartscat: * fix ability to write compressed warts files. - update to version 20230323: * libscamperfile: * add ability for scamper and all utilities to read warts and arts files compressed with bzip2 and xz, if libbz2 and liblzma are found by configure. * add ability for scamper and all utilities to write warts files compressed with gzip, bzip2, and xz, if zlib, libbz2, and liblzma are found by configure. * tidy up libscamperfile code. * misc: * silence -Wsign-compare and -Wtype-limits * tidy usage statements for sc_uptime and sc_tbitpmtud * document use of '-' to read from stdin and write to stdout in sc_wartsfilter.1 * Tue Mar 07 2023 Sebastian Wagner <sebix@sebix.at> - Update to version 20230302: - scamper: * use a random source port / ICMP ID in trace if -s 0. * better parallelize pings to a single destination that use udp-dport, tcp-ack-sport, or tcp-syn-sport probe methods. * document default value of source port consistently for all measurements that take a source port parameter in the man page. - sc_wartscat: * print useful error messages when encountering an error. * add ability to merge neighbourdisc, tbit, sting, sniff, and host. * Fri Feb 24 2023 Sebastian Wagner <sebix@sebix.at> - Update to version 20230224: - scamper: - allow multiple parallel measurements to the same destination, - provided the measurements have probe signatures that scamper can - distinguish. - return the associated task ID with each DATA blob in control socket. - this task ID matches the ID returned in an OK when scamper accepted - the task. - in ping, only compute delay statistics on responses from destination. - in ping, allow timeout to be expressed in fractions of a second. - libscamperfile: - support reading gz-compressed warts files. - libscamperctrl: - add libscamperctrl, a library to interact with a collection of - scamper instances. - modify sc_ally, sc_filterpolicy, sc_prefixscan, sc_speedtrap, and - sc_pinger to use this library. - this library is likely to evolve. current behaviour is documented - in libscamperctrl manual page. - misc: - improve sc_wartsfilter manual page with examples. - add remote control socket support to sc_pinger. - fix kqueue/epoll loop in sc_remoted. - consistently use size_t throughout when counting number of items. - build without warnings using -Wextra -Wno-unused-parameter. - improvements through adding function attributes to printf-like - functions. - deorbit some unused functions from utils.c. * Thu Dec 29 2022 Sebastian Wagner <sebix@sebix.at> - Update to version 20211212e: - scamper: * gracefully handle situations where there is no /etc/resolv.conf, or no nameserver lines in an /etc/resolv.conf but a measurement or scamper-internal task wants to resolve a name * tidy up buggy prinf-like statements in scamper and some drivers. - warts/json: * in JSON output for ping, print the TCP/UDP src/dst ports or ICMP id/seq used in individual probe packets, * fix regression in libscamperfile so that it can read old warts files. * Sat Nov 19 2022 Sebastian Wagner <sebix@sebix.at> - Update to version 20211212d: - scamper: * add tcp-syn-sport method to ping, document in scamper(1) manual page - documentation: * document trace json object in sc_warts2json(1) manual page * Thu Aug 18 2022 Sebastian Wagner <sebix@sebix.at> - Update to version 20211212b: - scamper: * add an option (-O cafile=/path/to/file) to load CA certificates from a specific file when starting scamper for validating a remote controller's certificate (this was released in 20211212a) * add options - O client-certfile=/path/to/certfile and - O client-privfile=/path/to/privfile to have scamper present a client certificate during a TLS handshake with a remote controller * fix bugs that prevent scamper from reconnecting to a remote controller * fix -d debugfile when scamper is built with privilege separation * fix bug when writing neighbordisc measurements to warts file that prevents a neighbordisc measurement from being read * fix bug when reading some tracelb measurements with unresponsive hops from a warts file * allow user to specify fractions of a second to ping timeout (-W) * use a random source port / ICMP ID in ping if -F 0 - sc_remoted: * add -C option to specify a CA PEM file to verify client certificates presented by scamper instances. * add -O skipnameverification option to tell sc_remoted to verify scamper presents a certificate signed by the CA, but do not do name verification * Mon Apr 25 2022 Dominique Leuenberger <dimstar@opensuse.org> - Drop libscamperfile1 provides from the lib subpckage: libscamperfile.so.2 is not a drop-in replacement for anything that linked libscamperfile.so.1, and as such the provides is invalid. The obsoletes is technically wrong, but is there to fix the upgrade path of a wrongly-packaged libscamperfile.so.2 in a libscamperfile1 package. * Fri Feb 25 2022 Sebastian Wagner <sebix@sebix.at> - add provices/obsoletes for old libscamperfile1 sub-package. * Sat Feb 12 2022 Sebastian Wagner <sebix@sebix.at> - Update to version 20211212a: - No changelog available. * Tue Dec 14 2021 Sebastian Wagner <sebix@sebix.at> - update to version 20211212: - scamper: * in hostname code, handle nameserver lines with comments in them - sc_remoted: * fix logic to handle TLSv1.3 handshakes - sc_hoiho: * add the ability to learn regular expressions that extract network names from router hostnames, documented in the sc_hoiho man page * Wed Oct 27 2021 Sebastian Wagner <sebix@sebix.at> - update to 20211026: scamper: * in trace, allow probes to multiple consecutive hops to be outstanding in the network without having to stop and wait, using the -N parameter documented in scamper's man page. * in trace, do optional PTR lookups using the option documented in scamper's man page. output these hostnames into warts and json outputs. * bump libscamperfile version for the above changes. * document that scamper's control socket can be told to return JSON through an option now documented in scamper's man page. * improvements to reading warts files via fuzzing. * other man page tidy ups. sc_erosprober: * add the ability to adjust the probe list at run time through a unix domain socket, documented in the sc_erosprober man page. sc_hoiho: * add the ability to learn regular expressions that extract geographic hints from router hostnames, documented in the sc_hoiho man page * Mon Apr 05 2021 Sebastian Wagner <sebix@sebix.at> - update to version 20210324: sc_speedtrap: * speed up speedtrap's runtime * Wed Sep 23 2020 Sebastian Wagner <sebix@sebix.at> - update to version 20200923: - scamper: * integrate some fixes for compiling scamper on windows - sc_erosprober: * allow larger probe intervals - sc_hoiho: * add support for learning regexes that extract ASNs in hostnames * Sat Jul 18 2020 Sebastian Wagner <sebix@sebix.at> - update to version 20200717: - scamper: - update remote control protocol to support session resumption if the underlying TCP connection is interrupted. - if remote controller is specified with a domain name, use TLS. - fix -p pidfile when starting scamper as a daemon - expire entries in the ARP cache periodically - add -r support to ping and tracelb, and record router addresses in warts output. - autoconf work to build on linux without sys/socketvar.h or linux/netlink.h - allow scamper to do IPv4 ICMP echo and IPv6 UDP traceroute without requiring root on linux. - libscamperfile version 1.0.0 - sc_remoted: - update remote control protocol to support session resumption if the underlying TCP connection is interrupted. - use HUP signal to reload TLS certificate and private key chain - add -e pidfile to write PID to file, to make HUP easy - sc_pinger: - add utility to ping a set of addresses with ICMP echo, UDP, and TCP-ack probes - throughout: - reduce number of warnings when compiling with -Wextra - remove rcsid from all files * Sat Mar 14 2020 Sebastian Wagner <sebix@sebix.at> - update to version 20191102b: - scamper: * do not dereference a null pointer when converting a tracelb node with no IP address to a string, when generating json output. - sc_bdrmap: * allow the source IP address to be specified when probing with the - S parameter. - sc_wartsfilter: * a new utility to select specific records from a warts file * Mon Jan 06 2020 Sebastian Wagner <sebix@sebix.at> -update to version 20191102: * scamper * escape hostname in json output for tracelb * use length parameters when parsing hostname responses, from Marianne Fletcher * sc_bdrmap * add a -O noalias option to tell bdrmap to not do alias resolution. * update -C documentation in the sc_bdrmap.1 man page * fix a memory leak of trace objects in -d traces * print RTT in -d traces * add an -M option to help corner cases with private and IXP addresses * relax heuristics to allow VPs to claim routers with IP2AS when no other router assignments can take place * turn off analytical interface alias resolution heuristics by default * sc_hoiho * change -O verbose to -O debug to better reflect what it does. * change tpa to atp to be consistent with language in paper https://www.caida.org/~mjl/pubs/rnc.pdf * free a malloc, pointed out by clang static analysis * add support for reading -d 3 output, which is the format of regular expressions provided in the data supplement: http://data.caida.org/datasets/supplement/2019-imc-hoiho/ * sc_uptime * add a metadata table to be able to track metadata across sc_uptime invocations, from Marianne Fletcher * fix an error message when trying to create a database that already exists. * Wed Sep 18 2019 Sebastian Wagner <sebix@sebix.at> - remove SIOCGSTAMP.patch - update to version 20190916: * scamper * add a host implementation for looking up DNS records. it uses the first nameserver it finds in /etc/resolv.conf by default. * add an -O ptr option to tracelb. * bugfix json output for tracelb. * integrate patricia trie implementation into scamper hotspot * use HAVE_SYSCTL macro to solve a compile issue on android * include <linux/sockios.h> to get SIOCGSTAMP in Linux kernel > 5.2 * add -A option to ping code to set the ack number to use in tcp probes (or sequence number in SYN packets). do not randomly generate sequence and ack values for each TCP ping. * rework options handling to allow for long long values. * set the window size in TCP probes to 65535, instead of advertising a zero receive window. * update configure scripts around the use of --with-privsep-dir-owner * sc_ally: * when outputting alias sets, conduct a canonical sort to allow for easy diffs * update man page because sc_ally can take more than two addresses per line * sc_erosprober: * new driver to periodically probe addresses and rotate output files. * sc_hoiho: * new utility for holistic orthography of Internet hostname observations. this utility is only built if --with-sc_hoiho is passed to configure. sc_hoiho requires pcre or pcre2, which can be controlled by passing --with-pcre or --with-pcre2 to configure. * sc_uptime: * add a last_tx column to state_dsts to allow for simple monitoring of when each destination address was last probed. * various drivers: * handle scamper disconnections gracefully in sc_ally, sc_filterpolicy, sc_prefixscan, sc_radargun, sc_speedtrap, sc_tbitblind, sc_tbitpmtud, and sc_uptime * Tue Aug 20 2019 Sebastian Wagner <sebix@sebix.at> - add SIOCGSTAMP.patch for recent changes in socket.h/socketios.h * Sat Dec 22 2018 Sebastian Wagner <sebix@sebix.at> - update to version 20181219: * scamper: * json output format for tracelb (MDA traceroute) * print an error message if an output file cannot be opened * document (in warts.5) the offset variable in a warts traceroute record, and scamper_trace_dtree_t * use autoconf to check if X509_VERIFY_PARAM_set1_host is available, rather than OpenSSL #defines that are not used consistently among OpenSSL-like libraries. * libscamperfile: * don't crash on a zero length file, or other conditions where sf->type is SCAMPER_FILE_NONE sc_ally: * fix example in manual page * dump 3: when merging routers in a transitive closure, remove the obsolete router from the dump list. * if an address is repeated in the input file then complain * sc_bdrmap: * document -C csum in sc_bdrmap.1 * allow duplicate prefixes in the IXP file * add initial support for UDP paris traceroute, as an alternative to the ICMP paris traceroute bdrmap uses by default. * document updates in sc_bdrmap.1 * sc_ttlexp: * add -O noreserved * bugfix reading from stdin, file handling * document updates in sc_ttlexp.1 * sc_uptime: * add an optional -I interval parameter which controls how frequently we want an address to be probed. add logic to exit early if we are probing on with -I and there is a list of low-priority probing that is not empty, so that sc_uptime can meet the probe interval. * add the ability to expire addresses out of the database after they have not been seen in traceroute for a while, and they do not respond with an incrementing IPID value, with optional -E expiry parameter. * loading addresses into the state database is now a separate step (-a) * add a -c option to create and initialise a database file * add do-not-probe support * replace import code that used a row for each sample with a blob that stores multiple samples per blob. * report some measure of progress on import * build monotonic sequences which allow patterns in responses to be more easily identified, so that reboots are not falsely inferred in the cases of multiple counters, 16 bit counters, and routers that start each sequence after a PTB with a new IPID. * add an -O verbose to dump IPID sequences * document updates in sc_uptime.1 * Sun May 06 2018 sebix@sebix.at - update to version 20180504: * scamper: * increase the size of a buffer in scamper's traceroute json creation to reduce chance of truncation. * print the number of probes sent by traceroute in the json output. * enforce a minimum firsthop value of 1 when reading a warts traceroute object. * sc_bdrmap: * choose a static ICMP checksum value when using Paris traceroute to reduce churn in observed topology in bdrmap output. * add ability to pass list of ASes to -d traces to see traceroutes towards specific ASes, useful for understanding bdrmap inferences. * Thu Mar 08 2018 sebix@sebix.at - update to version 20180309: * sc_*: * For the utilities (sc_*) that read input files, do not allocate memory to hold the entire input file in memory before parsing the file. This improvement affects sc_ally, sc_attach, sc_bdrmap, sc_filterpolicy, sc_radargun, sc_speedtrap, sc_tbitblind, sc_tbitpmtud, sc_uptime, sc_warts2text. * sc_tbitpmtud: * add scamper driver from IMC2010 paper to collect data on webserver responsiveness to ICMP packet too big messages, and perform rudimentary analysis of collected data. * sc_ttlexp: * new utility to dump source addresses from ICMP TTL expired messages in warts files. * sc_wartsfix: * add a manual page * sc_warts2csv: * add a manual page * Mon Dec 04 2017 sebix@sebix.at - remove new-openssl.patch, included upstream - update to version 20171204: - scamper: * add a blind-fin tbit test, which tests receiver behavior to TCP FIN packets which could have come from an off-path attacker. - sc_radargun: * add -d 2 option, which dumps interface IP-ID behavior classifications. * Thu Nov 30 2017 sebix@sebix.at - add patch new-openssl.patch to compile with new openssl versions * Thu Aug 24 2017 sebix@sebix.at - update to version 20170822 scamper: * replace recursive versions of some functions with iterative versions. * add cycle-start and cycle-stop json record implementations. * fix traceroute json record: the hop transmit time value it reported was junk. * add support for sending json over the control socket. use "attach format json" to get this mode; "attach" by itself still returns uuencoded warts. Initial patch supplied by Young Hyun. * fix possible memory leaks detected with static analysis. * quality assurance on research paper cites in manual pages. * spelling errors noticed by Iain R. Learmonth. sc_ally: * add feature to dump inferred aliases from the collected data. sc_speedtrap: * add threaded implementation of pairwise comparison to form candidate alias sets, if pthreads are detected at compilation time and - -disable-threads configure option is not supplied. sc_uptime: * new scamper driver to infer IPv6 device reboot windows if the device returns an incrementing identifier field in the IPv6 fragmentation header. the driver is not built by default, as it expects sqlite3. use --with-sc_uptime configure option to build. https://www.caida.org/~mjl/pubs/spf.pdf * Thu Jun 22 2017 sebix@sebix.at - update to 20161204a * More fixes to libscamperfile caught with fuzz testing. corrupt warts files provided by Greg Ward of Dyn * if targets or commands are specified in a file, and that file ends after all probing of commands in that file has completed, finish the source, allowing scamper to exit. this scenario is most likely when stdin is the input file. Reported by Alex Colvin of Dyn * use select/poll/epoll/kqueue to look for read events on stdin files * malloc enough memory for a prefix6_t in the prefixtree code. reported by Sebastian Wagner via gcc7. only sc_bdrmap uses that code * increase size of string buffers for some ping and trace fields for text output to silence gcc7 warning. * allow source IP address to be null when outputting a trace with json * update sc_tbitblind.1 man page to show correct use of scamper's IPFW firewall support, which changed in the 20161204 release * fix unlikely unaligned access when computing checksums with IPv6 addresses * Wed Jun 21 2017 sebix@sebix.at - update to 20161204 * add remote control socket support to scamper. scamper can be configured to connect to a remote controller at run time to allow remote systems to control a scamper instance. the remote controller is handled by the sc_remoted utility, and is documented in the sc_remoted manual page (see below). * fixes to libscamperfile caught with fuzz testing. corrupt warts data files provided by Greg Ward of Dyn. * add a PATRICIA trie implementation based off Sedgewick's Algorithms in C++ book. this improves the performance of scamper compared to holding addresses in splaytrees. * improve speed of warts(5) code. * improve speed of scamper_writebuf by allocating pagesize blocks at a time. * begin to document ping warts records in warts(5). * fix debug printf implementation so that all features will be built in as long as --without-debugfile is not used. backported to 20141211g. * silence compiler warnings from Microsoft Visual Studio. backported to 20141211g. * sc_prefixscan: * add a utility, sc_prefixscan, that provides a convenient interface to scamper's prefixscan alias resolution method. https://www.caida.org/tools/measurement/scamper/man/sc_prefixscan.1.pdf * sc_radargun: * add a utility, sc_radargun, that provides a convenient interface to scamper's radargun implementation. https://www.caida.org/tools/measurement/scamper/man/sc_radargun.1.pdf * sc_remoted: * add a utility, sc_remoted, that provides an interface to a collection of remote scamper instances. https://www.caida.org/tools/measurement/scamper/man/sc_remoted.1.pdf * sc_ally: * use writebufs so sc_ally is event driven and will not block. * add code to probe candidate sets in pairs, with transitive closure to save probes. * allow inter-probe gaps of less than 1 second. * sc_attach: * add support for remote control sockets. * add an option to randomise the order tasks are run. * sc_speedtrap: * stricter default test for inferring if two IP addresses may share a single shared counter. backported to 20141211g. * code cleanup. * sc_warts2json * add support for printing ICMP extensions included in traceroute responses, prompted by Quirin Scheitle * Sat Oct 08 2016 mardnh@gmx.de - update to version 20141211e - upstream does not provide a changelog * Sun Aug 21 2016 mardnh@gmx.de - moved man3/* from lib- to -devel subpackage - removed useless provides from libscamperfile0 * Wed Aug 17 2016 mardnh@gmx.de - initial package, version 20141211e
/usr/bin/sc_ally /usr/bin/sc_analysis_dump /usr/bin/sc_attach /usr/bin/sc_bdrmap /usr/bin/sc_erosprober /usr/bin/sc_filterpolicy /usr/bin/sc_ipiddump /usr/bin/sc_pinger /usr/bin/sc_prefixprober /usr/bin/sc_prefixscan /usr/bin/sc_radargun /usr/bin/sc_remoted /usr/bin/sc_speedtrap /usr/bin/sc_tbitblind /usr/bin/sc_tbitpmtud /usr/bin/sc_tracediff /usr/bin/sc_ttlexp /usr/bin/sc_uptime /usr/bin/sc_warts2csv /usr/bin/sc_warts2json /usr/bin/sc_warts2pcap /usr/bin/sc_warts2text /usr/bin/sc_wartscat /usr/bin/sc_wartsdump /usr/bin/sc_wartsfilter /usr/bin/sc_wartsfix /usr/bin/scamper /usr/lib/python3.11/site-packages/scamper.so /usr/share/licenses/scamper /usr/share/licenses/scamper/COPYING /usr/share/man/man1/sc_ally.1.gz /usr/share/man/man1/sc_analysis_dump.1.gz /usr/share/man/man1/sc_attach.1.gz /usr/share/man/man1/sc_bdrmap.1.gz /usr/share/man/man1/sc_erosprober.1.gz /usr/share/man/man1/sc_filterpolicy.1.gz /usr/share/man/man1/sc_ipiddump.1.gz /usr/share/man/man1/sc_pinger.1.gz /usr/share/man/man1/sc_prefixprober.1.gz /usr/share/man/man1/sc_prefixscan.1.gz /usr/share/man/man1/sc_radargun.1.gz /usr/share/man/man1/sc_remoted.1.gz /usr/share/man/man1/sc_speedtrap.1.gz /usr/share/man/man1/sc_tbitblind.1.gz /usr/share/man/man1/sc_tbitpmtud.1.gz /usr/share/man/man1/sc_tracediff.1.gz /usr/share/man/man1/sc_ttlexp.1.gz /usr/share/man/man1/sc_uptime.1.gz /usr/share/man/man1/sc_warts2csv.1.gz /usr/share/man/man1/sc_warts2json.1.gz /usr/share/man/man1/sc_warts2pcap.1.gz /usr/share/man/man1/sc_warts2text.1.gz /usr/share/man/man1/sc_wartscat.1.gz /usr/share/man/man1/sc_wartsdump.1.gz /usr/share/man/man1/sc_wartsfilter.1.gz /usr/share/man/man1/sc_wartsfix.1.gz /usr/share/man/man1/scamper.1.gz /usr/share/man/man5/warts.5.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Nov 12 00:13:41 2024