1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
|
2ping 4.5 (2020-06-18)
* Added PyCryptodome support (recommended over PyCrypto, though the latter
is still detected/supported).
* Replaced best_poller module with Python native selectors module.
* Changed --flood output: dots/backspaces are no longer printed, and loss
results / errors display full details.
* --audible tones will only occur if stdout is a TTY.
* Improved hostname/IP display edge cases.
* Added an AF_UNIX --loopback test mode.
* Listener sockets are added and removed as needed, instead of being
re-created on each rescan.
* Listener sockets are automatically rescanned periodically.
* Multiple systemd sockets are now allowed.
* A run can be both a listener and a client at the same time (mainly
useful for smoke testing).
* Other socket handling refactoring.
* Other code refactoring.
* Listener statistics are displayer per-bind.
* Many, many testing/CI improvements.
2ping 4.4.1 (2020-06-08)
* Fixed 2ping.spec referencing old README and making
`rpmbuild -ta 2ping.tar.gz` fail.
* Added systemd 2ping.service.
* Added snapcraft.yaml.
2ping 4.4 (2020-06-07)
* Minimum Python version changed from 3.4 to 3.5
* Monotonic clock is always used
* If the Python "netifaces" module is installed (preferred), --listen
will now listen on all addresses by default, as opposed to requiring
--all-interfaces previously
* Add --subtract-peer-host-latency
* Add support for systemd-supplied sockets
* Remove deprecated/removed linux_distribution, use distro if available
* Code/documentation cleanups, 2ping protocol 4.1
2ping 4.3 (2018-12-03)
* Add --srv-service
* Change --adaptive behavior to better match ping -A
* Fix typos in manpage
2ping 4.2 (2018-08-11)
* Added SIGHUP handling of listener processes
* Added an example bash_completion script
* Better cleanup handling of peer information
2ping 4.1.2 (2018-08-09)
* Fix UTF-8 tests when run with invalid locale (Debian Bug#897498)
* Fix cleanup on non-encrypted sessions (GitHub rfinnie/2ping#5)
2ping 4.1 (2017-08-06)
* Fixed --fuzz CRC function.
* Added --encrypt option for shared-secret encrypted packets.
* Added --listen --all-interfaces option for automatically binding to
all interface IPs (requires Python netifaces module).
* Simplified monotonic_clock functionality, relying on Python 3 for
most functionality, reducing the possibility of platform bugs.
* Minor fixes and unit test suite improvements.
2ping 4.0.1 (2017-07-22)
* Fixed unit tests causing test failure in certain conditions.
2ping 4.0 (2017-07-22)
* Rewrite from Python 2 to Python 3 (3.4 or higher).
* Fixed hmac-sha256 handling, added hmac-sha512.
* --nagios will now work when combined with --deadline, in addition to
--count.
* Added Wireshark Lua dissector and sample capture.
* Added battery level (ExtID 0x88a1f7c7). Note that while 2ping
recognizes the new option in incoming packets, it currently does not
have the capability to send battery levels.
* Minor fixes.
2ping 3.2.1 (2016-03-26)
* Do not error out when non-ASCII notice text is received (only causes
a remote denial of service crash when --debug is specified on the
remote peer).
2ping 3.2.0 (2016-02-10)
* Added --nagios, for Nagios-compatible output and status codes.
* Added unit tests.
* Added --send-time, which sends an extended segment containing the
current wall time.
* Added --send-monotonic-clock, which sends an extended segment
containing a monotonically-incrementing counter, on supported platforms.
* Added --send-random, which sends an extended segment containing
random bytes.
* Added -fuzz, which randomly fuzzes incoming packets (developer
feature).
* Fixed over-cautious handling of length limits when assembling
extended segments.
2ping 3.1.0 (2015-11-16)
* Best available poller for each platform (e.g. epoll on Linux, kqueue
on BSD / OS X) is automatically used.
* Old age timeout is set to a lower value on Win32 (1 second instead
of 60), as KeyboardInterrupt does not interrupt select() on Win32.
* Packet loss is now better visible in flood mode.
* Adaptive mode now ramps up to EWMA faster.
* Adaptive mode RTT predictions are now calculated per destination.
* In client mode, statistics are now separated for each destination.
* Added optional DNS SRV client support (requires dnspython). When
given --srv, all SRV records for the 2ping UDP service of a host are
pinged in parallel.
* Investigation results are now sorted by sequence number.
* Hostnames are displayed in statistics, if known.
* 2ping will exit earlier if safe to do so (e.g. "-c 1" will not wait
a full second if the ping is received immediately).
* --port can now be given service names (as determined by the system
resolver) instead of numeric ports.
* System platform (Linux, Mach, etc) is sent in packets along with
2ping version.
* Statistics use a more human-readable format (m, s, ms, etc).
2ping 3.0.1 (2015-10-29)
* Fix peer_address on error when MSG_ERRQUEUE is not set
* Documentation update
2ping 3.0.0 (2015-10-25)
* Total rewrite from Perl to Python.
* Multiple hostnames/addresses may be specified in client mode, and
will be pinged in parallel.
* Improved IPv6 support:
* In most cases, specifying -4 or -6 is unnecessary. You should be
able to specify IPv4 and/or IPv6 addresses and it will "just work".
* IPv6 addresses may be specified without needing to add -6.
* If a hostname is given in client mode and the hostname provides
both AAAA and A records, the AAAA record will be chosen. This can
be forced to one or another with -4 or -6.
* If a hostname is given in listener mode with -I, it will be
resolved to addresses to bind as. If the hostname provides both
AAAA and A records, they will both be bound. Again, -4 or -6 can
be used to restrict the bind.
* IPv6 scope IDs (e.g. fe80::213:3bff:fe0e:8c08%eth0) may be used as
bind addresses or destinations.
* Better Windows compatibility.
* ping(8)-compatible superuser restrictions (e.g. flood ping) have
been removed, as 2ping is a scripted program using unprivileged
sockets, and restrictions would be trivial to bypass. Also, the
concept of a "superuser" is rather muddied these days.
* Better timing support, preferring high-resolution monotonic clocks
whenever possible instead of gettimeofday(). On Windows and OS X,
monotonic clocks should always be available. On other Unix
platforms, monotonic clocks should be available when using Python 2.7
* Long option names for ping(8)-compatible options (e.g. adaptive mode
can be called as --adaptive in addition to -A). See 2ping --help for
a full option list.
2ping 2.1.1 (2014-04-15)
* Switch to Switch to ExtUtils::MakeMaker build system
2ping 2.0 (2012-04-22)
* Updated to support 2ping protocol 2.0
* Protocol 1.0 and 2.0 are backwards and forwards compatible with
each other
* Added support for extended segments
* Added extended segment support for program version and notice
text
* Changed default minimum packet size from 64 to 128 bytes
* Added peer reply packet size matching support, turned on by default
* Added extra error output for socket errors (such as hostname not
found)
* Added extra version support for downstream distributions
* Removed generation of 2ping6 symlinks at "make all" time (symlinks
are still generated during "make install" in the destination tree
2ping 1.2.3 (2012-01-01)
* Fixed ewma report (was always showing the last rtt)
* Fixed the various brown paper bag stuff I did in 1.2.1 and 1.2.2
while I rediscovered the magical journey that is git
2ping 1.2 (2011-12-24)
* Added exponentially-weighted moving average (ewma) and moving
standard drviation (mdev) statistics to the summary display
2ping 1.1 (2011-04-05)
* Host processing delays sent by the peer are no longer considered
when calculating RTT
* Changed ID expiration (for which no courtesty was received) time
from 10 minutes to 2 minutes
* Manpage fix: correct UDP port number listed
* Added an RPM spec file
2ping 1.0 (2010-10-20)
* Protocol now "finished", 2ping is now "stable"!
* Removed the sample initscript
* Small Makefile and documentation changes
2ping 0.9.1 (2010-10-09)
* Version bumped to 0.9.1 to signify a stable standardization is close
* Changed the default UDP port from 58277 to 15998 (IANA-registered
port)
* Host processing latency is now subtracted where possible (protocol
extension, backwards compatible)
* Minor code cleanup
* 0.9.0 (unreleased) was a Brown Paper Bag commit; typo in ChangeLog
fixed
2ping 0.0.3 (2010-10-03)
* Large cleanup and documentation push -- code is now "acceptable"
* Fixed calculation of opcode data area lengths on some opcodes;
implementation now incompatible with 0.0.2
* Added more checks against malformed packets; 2ping no longer produces
produces Perl warnings when fuzzing
* Added a preload (-l) option, mimicking ping's -l functionality
* Added a 2ping6 symlink; 2ping will now assume -6 if called as
2ping6
* Added a message authentication code (MAC) option with a pre-shared
key (--auth=key), allowing for message authentication and
verification while in transit
* Added a timed interval of brief statistics output (--stats=int)
* STDOUT buffering is disabled in all modes now
* Added compatibility down to Perl 5.6.0
* Cleaned up distribution tarball, added a Makefile
* Changed man section from 1 to 8
2ping 0.0.2 (2010-09-07)
* Fixed potential endianness issues
* Added packet checksum field, in a fixed position near the
beginning of the packet (PROTOCOL NOW INCOMPATIBLE WITH 0.0.1
RELEASE)
* Added state table cleanup notification between peers, which will
keep memory usage down in longer flood ping situations (protocol
opcode added)
* Added support for multiple binds in listen mode (specify -I IP
multiple times)
* Added support for multiple peers in client mode (specify multiple IP
arguments)
* Added additional packet error checks
* Misc code cleanup and documentation (not yet to my satisfaction, but
it's a start)
2ping 0.0.1 (2010-08-29)
* Initial release
|