These methods return information about a traceroute that has already been performed.
Any of the methods in this section that return a count of something or want an Nth type count to identify something employ one based counting.
In the previous methods, you can get the first successfull QUERY parameters, if you specify QUERY number as 0.
stat Returns the status of a given traceroute object. One of TRACEROUTE_OK, TRACEROUTE_TIMEOUT, or TRACEROUTE_UNKNOWN (each defined as an integer). TRACEROUTE_OK will only be returned if the host was actually reachable. found Returns 1 if the host was found, undef otherwise. hops Returns the number of hops that it took to reach the host. hop_queries(HOP) Returns the number of queries that were sent for a given hop. This should normally be the same for every query. hop_query_stat(HOP, QUERY) Return the status of the given HOPs QUERY. The return status can be one of the following (each of these is actually an integer constant function defined in Net::Traceroutes export list):
TRACEROUTE_OK Reached the host, no problems. TRACEROUTE_TIMEOUT This query timed out. TRACEROUTE_UNKNOWN Your guess is as good as mine. Shouldnt happen too often. TRACEROUTE_UNREACH_NET This hop returned an ICMP Network Unreachable. TRACEROUTE_UNREACH_HOST This hop returned an ICMP Host Unreachable. TRACEROUTE_UNREACH_PROTO This hop returned an ICMP Protocol unreachable. TRACEROUTE_UNREACH_NEEDFRAG Indicates that you cant reach this host without fragmenting your packet further. Shouldnt happen in regular use. TRACEROUTE_UNREACH_SRCFAIL A source routed packet was rejected for some reason. Shouldnt happen. TRACEROUTE_UNREACH_FILTER_PROHIB A firewall or similar device has decreed that your traffic is disallowed by administrative action. Suspect sheer, raving paranoia. TRACEROUTE_BSDBUG The destination machine appears to exhibit the 4.BSD time exceeded bug. hop_query_host(HOP, QUERY) Return the dotted quad IP address of the host that responded to HOPs QUERY. hop_query_time(HOP, QUERY) Return the round trip time associated with the given HOPs query. If your systems traceroute supports fractional second timing, so will Net::Traceroute.
Net::Traceroute parses the output of the system traceroute command. As such, it may not work on your system. Support for more traceroute outputs (e.g. Windows, HPUX) could be done, although currently the code assumes there is One true traceroute.
For IPv6 currently only on some system is known to work:
*BSD (FreeBSD 4.0 or later, NetBSD 1.5 or later. OpenBSD 2.8 and later) + any KAME patched BSD
Solaris 8 or later
Currently only few ICMPv6 error options are recognised.
The actual functionality of traceroute could also be implemented natively in perl or linked in from a C library.
Janos Mohacsi <email@example.com> Daniel Hagerty <firstname.lastname@example.org>
Copyright 1998, 1999 Massachusetts Institute of Technology Copyright 2001 Janos Mohacsi
|perl v5.20.3||TRACEROUTE6 (3)||2001-08-31|