Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

C++ library and CLI: Build Status Coverity Scan Build Status

Python module: Build Status Version

Debian packages:

Debian Unstable Debian Testing

Dublin Traceroute is a NAT-aware multipath traceroute tool.

And this page is just informational. Read more at .

Dublin Traceroute has a blog, with articles on how to make the best out of it. Check it out at

Dublin Traceroute has also Python bindings, that will let you:

  • use Dublin Traceroute from Python code
  • generate graphical visualizations of your multipath traceroutes
  • do statistical analysis using Pandas

See python-dublin-traceroute for more information.

Feedback is very welcome! You can open a new issue, or contact me directly, see for contact details.

But, in a few words, you can run traceroutes in multi-path networks (i.e. with ECMP load-balancing enabled), recognize NATs, have nice diagrams like the one below, export to JSON, and do this with a command-line tool, a C++ library or a Python library.

dublin-traceroute example