Palmtree (version 1.0)
Download: PalmTree
Please send your suggestions and patches to metozallouisiana
edu
System Requirements and Notes:
- Linux 32 bits OS
- pthread library
- Some systems require the user to have root privileges in order to generate ICMP messages. In such a case, use sudo command
- Please make sure ICMP messages from/to your host are not filtered out by local firewalls
How to Compile and Run:
- > cd download_location_on your_computer
- > tar xzf ptree.tar.gz
- > cd ptree/Release
- > make clean
- > make all
- Just run the executable created in the "Release" folder, e.g., "sudo ./ptree -d 216.115.104.100"
Input Parameters:
Short Form | Long Form | Description |
-d | --destination | destination IP address or host name |
-i | --inputfile | path to an input file containing a list of IP addresses such that each address appears at a line. It is suggested to shuffle the IPs to reduce the risk of being considered as a DoS attack. |
-o | --probetimeoutperiod | waiting time for the response message of a probe. Default value is 1000 milliseconds. Note that, palmtree utilizes double probing for unresponsive IP addresses, hence, a 1000 ms. waiting time is effectively 2000 ms. for an unresponsive IP address |
-a | --aliasregulatingperiod | waiting time between two alias queries. In case a file of IP addresses is given it puts artificial delay before processing the next IP address in the file. Default value is 500 ms. |
-q | --distancequery | protocol employed in estimating the hop distance. Two alternatives are "icmp" and "udp". ICMP sends a set of probes by systematically changing TTL field of the packets to locate the distance to an IP address. UDP sends a single probe and utilizes the TTL field of piggybacked message. ICMP is superior to UDP in terms of success rate. Default value is "icmp" |
-r | --proberegulatingperiod | probe regulating period is the artificial delay put between any two probe packets. Default value is zero. If you ever have to use this option give a value less than 150 milliseconds. The longer the probe regulating period, the higher the probability that routing changes in the middle of a palmtree session. |
Output Information:
Palmtree output consists of five columns: (i) "PT RESULT" shows a string representing the result, possible values are "PT_ALIAS_SUCCESS" for successful pairing of the target IP address (second column) with an alias IP address (fourth column), "PT_UNDISCOVERED_DISTANCE_FAIL" for failure in finding the distance to the target IP address, "PT_FRONTIER_INTERFACE" for frontier interfaces requiring another vantage point and "PT_UNDISCOVERED_ALIAS_FAIL" for failing in finding an alias pair; (ii) "TARGET IP" column shows the IP address for which palmtree tries to discover an alias; (iii) "HOP DISTANCE" column shows hop distance to the target IP address; (iv) "PT ALIAS IP" shows the alias IP address paired with target IP address; and (v) "SRC ALIAS IP" another alias IP address found with Mercator's method.
Sample Output:
# sudo ./ptree -d 74.125.48.66 PT RESULT TARGET IP HOP DISTANCE PT ALIAS IP SRC ALIAS IP PT_ALIAS_SUCCESS 74.125.48.66 15 66.109.6.179 NA # sudo ./ptree -i /home/engin/Desktop/ip.list PT RESULT TARGET IP HOP DISTANCE PT ALIAS IP SRC ALIAS IP PT_UNDISCOVERED_DISTANCE_FAIL 24.173.8.24 NA NA NA PT_FRONTIER_INTERFACE 24.173.8.25 3 NA NA PT_ALIAS_SUCCESS 24.173.8.26 2 24.173.8.26 NA PT_UNDISCOVERED_DISTANCE_FAIL 24.173.8.27 NA NA NA PT_FRONTIER_INTERFACE 24.173.8.28 3 NA NA PT_FRONTIER_INTERFACE 24.173.8.29 3 NA NA PT_UNDISCOVERED_DISTANCE_FAIL 24.173.8.30 NA NA NA PT_UNDISCOVERED_DISTANCE_FAIL 24.173.8.31 NA NA NA PT_FRONTIER_INTERFACE 24.93.60.134 11 NA NA PT_ALIAS_SUCCESS 66.109.6.53 13 24.93.60.62 NA PT_ALIAS_SUCCESS 209.191.78.144 17 216.115.104.105 NA PT_FRONTIER_INTERFACE 209.191.78.145 18 NA NA