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"

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
PT RESULT                       TARGET IP         HOP DISTANCE   PT ALIAS IP       SRC ALIAS IP      
PT_ALIAS_SUCCESS            15         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       NA             NA                NA                
PT_FRONTIER_INTERFACE        3              NA                NA                
PT_ALIAS_SUCCESS             2           NA                
PT_UNDISCOVERED_DISTANCE_FAIL       NA             NA                NA                
PT_FRONTIER_INTERFACE        3              NA                NA                
PT_FRONTIER_INTERFACE        3              NA                NA                
PT_UNDISCOVERED_DISTANCE_FAIL       NA             NA                NA                
PT_UNDISCOVERED_DISTANCE_FAIL       NA             NA                NA                
PT_FRONTIER_INTERFACE       11             NA                NA                
PT_ALIAS_SUCCESS             13          NA                
PT_ALIAS_SUCCESS          17      NA                
PT_FRONTIER_INTERFACE     18             NA                NA