NTmaps - Network Mapping & Modeling

Palmtree (version 1.0)


Download:    PalmTree
Please send your suggestions and patches to metozalemATlouisianaemDOTedu


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:

  1. > cd download_location_on your_computer
  2. > tar xzf ptree.tar.gz
  3. > cd ptree/Release
  4. > make clean
  5. > make all
  6. Just run the executable created in the "Release" folder, e.g., "sudo ./ptree -d 216.115.104.100"


Input Parameters:

Short Form    Long FormDescription
-d--destinationdestination IP address or host name
-i--inputfilepath 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--probetimeoutperiodwaiting 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--aliasregulatingperiodwaiting 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--distancequeryprotocol 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