version 0.34.5 ============== 2008-10-30 - Added RTP packet drop count and disorder count (the number of permutations needed to regain the correct sequence). These values are printed on the CLI. - Fixed usage of ranges even when no payload is specified; previously Mausezahn had problems with that; error messages include: a) mz/update_DPORT: Can't build TCP header: libnet_build_tcp(): payload inconsistency b) mz/update_IP_DA: IP address manipulation failed! or similar. - Updated the INSTALL file. version 0.34.1 ============== 2008-10-08 - Mausezahn now checks system clock precision and chooses monotonic nanosecond clock if available or alternative clock otherwise. No nasty warning message should occur anymore. version 0.34 ============ 2008-09-24 - Replaced gettimeofday() with the clock_gettime(CLOCK_MONOTONIC) which does not jump when the system syncs via NTP (otherwise artefacts would occur in long-term jitter-measurement data; additionally nanosecond precision is (internally) supported, although it is not really required). - Added IP options 'Loose Source Route' and 'Strict Source Route', as well as the possibility to specify any IP option as hexadecimal string. - IP packets can now be sent without any payload (previously at least a single payload byte has been added) - Added -V option (extended verbose) which prints only frame details but does not put anything on the wire. - Added icmp option echo request (ping), echo reply (default), and unreachable. Also made some clean-ups here. version 0.33.2 ============== 2008-09-11 - RTP packets are now (at least more) standard conform. Now Mausezahn per default simulates a G.711 codec with 20 msec inter-packet delay and 160 bytes payload. The usage of the timestamps should be correct now so that other applications can also interprete Mausezahn's RTP header. - Added 8 byte padding to BPDU packets (some switches rejected the packet; now whole frame is always 60 bytes long (added 8 zero bytes or 4 for PVST+, respectively). - Fixed PVST+ packet format. Should be correct now; can be sent with (default) or without 802.1Q tag. - Better help text for BPDU mode. - Added 'pvst' as additional keyword for specification of MAC addresses version 0.33.1 ============== 2008-09-04 - Upon startup Mausezahn checks if it has root privileges (getuid, geteuid) - 'Cleaned' the files README, INSTALL, and AUTHORS, fixed some missing information and applied a line wrap at 80 chars to comply with packaging requirements. - Also made a 80-char line-wrap in the source code's license statement. version 0.33 ============ 2008-08-20 - Clearly defined GPLv2 as license. - Support for the Syslog protocol. - Inclusion of cmake for easier build process. - Some minor bugfixes, e. g. now "mz -t help" works (before you had to enter "mz eth0 -t help"). Thanks to Cristian Greco, Steve Grubb, Rauno Tuul, and Heinz Wiesinger for help and feedback. ================================================================================ Since I was too lazy to maintain a changelog before version 0.32 let me summarize at least all features and possible bugs at this point: *) Full support for the following protocols: - ARP - BPDU (PVST+) - CDP - UDP - TCP (only transmission, no state machine so far) - DNS *) Limited support: - ICMP (started to implement ICMP redirects, did not had time for tests so far; almost sure buggy) - RTP (only needed for jitter measurements, the timestamps used are quite proprietary (sec and msec separately)) *) Other features - can send arbitrary byte sequences longer or equal 15 bytes - randomized MAC and/or IP addresses - ranges for IP addresses, port numbers, TCP sequence numbers - 802.1Q VLAN tags (arbitrary depth) plus CoS values - MPLS tags (arbitrary depth) plus CoS and TTL values - automatic padding if desired - inter-packet delays in usec (but can also be specified in msec and sec) - text or hex payloads - RTP receiving mode to measure jitter with high precision (usec is base, plan to measure true precision empirically, I guess it is at least below 1 msec) *) Possible bugs - Limited checks for wrong arguments and options (however, I tried to avoid buffer overflows, mostly) - ICMP packets (redirects) may be incorrect (I had no use for those so far)