Fastping, developed by ENST, is a fast ICMP scanner for TopHat/TDMI, a dedicated measurement infrastructure running over PlanetLab. If you landed to this page following a http://ow.ly/wPjH6 URL found within an ICMP packet, this means that you have been a target of an academic experiment with the fastping software, that this page introduces.
"Fast" in fastping means that 50k hosts can be probed in about 5 seconds (a more detailed performance analysis is reported in the fastping documentation). Scalability of a single proble is obtained in user-space (as opposite to the zmap sofware that requires root privileges), with a non-blocking multi-thread design (that allows to significantly exceed nMap Scripting Engine performance, but of course not as much as zmap).
Additionally, leveraging the TopHat/TDMI infrastructure, fastping couples the ability to scan a large number of hosts during small time windows, to the availability of a large number of spatially disperse probes -- up to 1000 PlanetLab/OneLab nodes, of which typically around 300 are available at any time.
These temporal and spatial scalability properties can be leveraged for instance, to understand Internet properties such as (but not limited to):
Fastping already perform a fair amount of statistical pre-processesing, providing output at different granularities. Namely, from the most coarse to the most fine-grained:
The above results can be stored locally at a probe (useful for testing/local use), or uploaded to an repository via FTP (useful to centralize data collection from a PlanetLab experiment).
Quick start:
Fastping is a python script and
Example of use of the tool as a standalone shell tool and as mPlane probe can be found in the software package (HOWTO.shell and HOWTO.mplane in the main directory respectively) as well as in the fastping documentation
Fastping was entirely developed during the mPlane project. So thanks, mPlane!
The mPlane Fastping interface offers the ability to specify the set of target IP address ranges.
To harness the full power of fastping, a number of parameters have clearly been defined in the mPlane registry. While most of the parameters are trivial, one is worth discussing at length.
To achieve efficient operation, it is imperative for fastping to receive compact specification of target addresses ranges. However, the current mPlane registry only support a destination.ipv4 type specifying a single target address -- which clearly clashes with the ability of probing at large scale.
To circumvent with this current mPlane limit, the fastmPlane implementation employs a clever trick that is both compatible with the current mPlane specifications, and that will possibly be entirely supported by future releases -- since the necessity to specify list of primitive types will be possible shared among multiple components, and thus supported by mPlane.
The fastping custom registry specify thus a destinations.ipv4range type whereby the s implies that a plurality of IPv4 ranges, expressed as A.B.C.D/N are expected. Notice that since a single address can be expressed as a /32 range, this effectively means that it is possible to practicaly "mix" addresses and ranges, while maintaining plurality of a single type
svn co https://svn.ict-mplane.eu/svn/public/software/fastping-d22