Skip to main content

A tool that detects at which hop in a traceroute path an IXP fabric has been crossed.

Project description

Introduction

traIXroute is a tool that detects if and where a traceroute path crosses an IXP fabric. It uses multiple criteria to verify IXP crossings in the light of replies from third-party interfaces or inaccuracies in the available data about IP addresses assigned to IXPs. These discrepancies mislead simple heuristics based solely on the IP address prefixes allocated to IXPs. The detection uses data from PeeringDB, Packet Clearing House and RouteViews. In addition, traIXroute uses in the background the standard traceroute tool or the scamper tool, which implements the Paris traceroute technique to deal with inaccurate paths due to load balancers [1]. It is open source under GPLv3.

The heuristics used by traIXroute and their evaluation are described in the following paper:

  • G. Nomikos, X. Dimitropoulos. “traIXroute: Detecting IXPs in traceroute paths”. In Proceedings of the Passive and Active Measurements Conference (PAM’16) 31 March - 1 April 2016, Heraklion, Greece.

  • G. Nomikos, X. Dimitropoulos. “Detecting IXPs in Traceroute Paths Using traIXroute”. RIPE Labs, 3 Aug 2016.

traIXroute enhances for the first time its features interoperating with the Remote Peering Jedi tool. For now, only data for DE-CIX (Frankfurt), Any2 (Los Angeles), AMS-IX, France-IX, LINX and MSK-IX are included.

Installation

The program has been tested on Linux and Mac OS X. Detailed installation instructions can be found in the INSTALL file in the repository. You can install all the necessary packages running:

The latest version is available on pypi, the Python Package Index:

$ pip3 install traixroute
$ scamper-install (To enable probes using scamper)
$ traixroute (To build the configuration files in the home directory)
$ traixroute --help

It is also possible to download the latest archive from github:

$ curl -L https://github.com/gnomikos/traIXroute/archive/v2.3.tar.gz | tar zx
$ sh traIXroute-2.3/setup/install.sh
$ ./traIXroute-2.3/bin/traixroute

If using git:

$ git clone https://github.com/gnomikos/traIXroute.git
$ sh traIXroute/setup/install.sh
$ ./traIXroute/bin/traixroute

IMPORTANT

In case you run Mac OS X, ensure you have installed the Xcode command line developer tools before. To install run:

$ xcode-select --install

A software update popup window will appear. You need to install only the command line developer tools by clicking the “Install” button and then agree to the Terms of Service. This process will download and install the Command Line Tools package.

If you have problems, please contact George Nomikos (gnomikos [at] ics.forth.gr).

Dependencies

  • Python 3traIXroute requires Python 3.5 or greater.

  • Scamper — A tool provided by CAIDA for probing the Internet in parallel, so that bulk data can be collected in a timely fashion.

  • Traceroute — A diagnostic tool for measuring Internet paths and their per hop delay.

  • Click here for other dependencies.

Documentation

Documentation can be found here. The documentation covers the available command line options, how to extend or overwrite the data from PeeringDB and the Packet Clearing House with user-provided data, how to customize or extend traIXroute detection rules, and a diagram of its modules.

Licence

The source code of traIXroute is released under the GNU General Public License, version 3. A copy can be found in the LICENSE file.

Copyright © traIXroute, 2016.

Authors

traIXroute was written by Michalis Bamiedakis (mbam [at] ics [dot] forth [dot] gr), Dimitris Mavrommatis (mavromat [at] ics [dot] forth [dot] gr) and George Nomikos (gnomikos [at] ics [dot] forth [dot] gr) from the INternet Security, Privacy, and Intelligence REsearch (INSPIRE ) Group in the Institute of Computer Science of the Foundation for Research and Technology - Hellas (FORTH). The research was supervised by Prof. Xenofontas Dimitropoulos (fontas [at] ics [dot] forth [dot] gr).

Contact Author: George Nomikos (gnomikos [at] ics [dot] forth [dot] gr)

Acknowledgements

The research that led to traIXroute was supported by the European Research Council (ERC) Grant 338402 - The NetVolution Project (www.netvolution.eu).

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

traixroute-2.3.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

traixroute-2.3-py3-none-any.whl (3.4 MB view details)

Uploaded Python 3

File details

Details for the file traixroute-2.3.tar.gz.

File metadata

  • Download URL: traixroute-2.3.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for traixroute-2.3.tar.gz
Algorithm Hash digest
SHA256 36b03fabb21b52c2c232093cb0be012fe64f46ce9f4098558c88a85e6bd885da
MD5 cfcd0d576e02a16ac2ee28561d690478
BLAKE2b-256 efb882b7d9ee2b9ca01d35fffbc608b47efb6a121e49b20a834ffd72e3e97841

See more details on using hashes here.

File details

Details for the file traixroute-2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for traixroute-2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3fae9f02745c452ac7336579ab711cb9bd447676b4f46174bc16ee2cd2b4da1e
MD5 1f16c4fe1ef010bca6ae8278e04c5ee6
BLAKE2b-256 3ac86406efb02d2ab1a98808003d6a69f9d07156361f6f04cf2a746546776e29

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page