mper is licensed under GPLv2. The latest version of mper (v0.4.2) was released on Apr 16, 2014 (read the CHANGES).
Also available on GitHub.
Currently, you must write mper clients in Ruby and use the rb-mperio RubyGem to communicate with mper. The rb-mperio RubyGem includes sample scripts for performing pings and traceroutes that demonstrate how to write measurement scripts with mper.
Special note on TCP probing on Linux
(This note doesn't apply to FreeBSD/MacOS X users.)
To send TCP probes, mper needs to know the MAC address (not just the IP address) of the interface on your gateway. Based on the IP address of the gateway you provide with the -G option, mper looks in the ARP cache to find the MAC address. However, Linux tends to expire idle ARP cache entries very quickly, including the entry for the gateway.
Hence, before starting up mper, execute the following command to ensure that the gateway address is always fresh in the ARP cache (of course, after substituting your own gateway address):
$ nohup ping 126.96.36.199 -i 45 >/dev/null 2>&1 &
That starts up a background process that pings your gateway every 45 secs. Executing "/sbin/ip neighbor ls" should now show your gateway as "REACHABLE", and when you start up mper, you should see your gateway address listed in an "addr2mac_add" line; for example:
$ sudo ./mper -D 8746 -G 188.8.131.52 -I en0 ... [16:03:46:042] addr2mac_add: ifindex 4 ip 184.108.40.206 mac 00:00:00:00:00:00 expire 1374880112 ...
If MIDAR doesn't get any responses to TCP probes, or MIDAR/mper reports "could not allocate task" errors, then your ARP cache is missing the gateway entry. The above steps should fix this.
To see the debugging output from mper, build it with:
$ ./configure --enable-debug
mper is written and maintained by Young Hyun as a part of CAIDA's work on the Archipelago Measurement Infrastructure
mper is based on scamper, written and maintained by Matthew Luckie, member of the WAND group in the Computer Science Department at the University of Waikato.
Thanks to Alistair King for porting code from newer scamper releases into mper in June-Sept 2011.