This project visualizes the path of network packets across the internet by performing a traceroute and plotting the geographic locations of each hop onto Google Maps. It provides an interactive and informative way to understand the journey of data from your device to a specified hostname.
-Interactive Network Visualization: Plots the geographic coordinates of each hop in a traceroute on a Google Map, allowing users to visually track the path of their data across the internet.
-Real-Time IP Geolocation: Converts IP addresses to geographical coordinates using the Dazzlepod API, ensuring accurate and up-to-date location data for each hop.
-Customizable and Extensible: Includes customizable marker labels and route colors, with error handling and rate-limiting to ensure reliable operation.
-Python: Core language used for network operations and data handling.
-Scapy: Used for performing traceroute operations.
-GMPlot: Python library for plotting data on Google Maps.
-Dazzlepod API: Provides geolocation data for IP addresses.
-Web Technologies: Webbrowser module for rendering HTML maps.
Ensure you have the following installed:
- Python 3.x
- pip (Python package manager)
Steps
1.Clone the repository:
git clone [https://github.com/your-username/traceroute-visualization-tool.git](https://github.com/jooncybertest/python-traceroute.git) cd traceroute-visualization-tool
2.Install the required Python packages:
pip install -r requirements.txt
3.Run the script:
python project.py [hostname]
Replace [hostname] with the domain or IP address you want to trace.
1.Perform a traceroute:
- Run the script with the desired hostname or IP address.
- The script will perform a traceroute, convert the resulting IPs to geographic coordinates, and plot them on a Google Map.
2.View the results:
Once the traceroute is complete, an HTML file (traceroute.html) will be generated and automatically opened in your default web browser, showing the path of the packets.
src/
βββ project.py # Main script to run the traceroute and plot the map
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation