Allows processing Internet Control Message Protocol (ICMP) packets, essential for traceroute operations. Organized into separate files:
- ICMP utilities (
icmp_utils.cppandicmp_utils.h), - traceroute-specific utilities (
traceroute_utils.cppandtraceroute_utils.h), - main execution logic (
main.cpp).
To compile and run the traceroute tool:
- Clone the repository:
git clone https://github.com/czarekmilek/Traceroute.git cd Traceroute - Build the project using the provided Makefile:
make
- Execute the compiled traceroute program:
./traceroute <destination_host>
Replace <destination_host> with the domain name or IP address of the target host you wish to trace.
- The tool operates by sending ICMP Echo Request packets with incrementally increasing Time-To-Live (TTL) values.
- Each router along the path decrements the TTL, and when it reaches zero, the router sends back an ICMP Time Exceeded message.
- By analyzing these responses, the tool maps out the route to the destination.