traceroute-caller

command module
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

README

traceroute-caller

Version Build Status Coverage Status GoDoc Go Report Card

Local Development

Using docker-compose you can run a local instance of traceroute-caller that operates in concert with events from measurementlab/tcpinfo and using annotation from measurement-lab/uuid-annotator.

You must have a recent version of the Docker server configured and running in your local environment. As well, your local environment must include a recent version of docker-compose.

$ docker-compose version
docker-compose version 1.27.4, build 40524192
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.1g  21 Apr 2020

In the root directory of traceroute-caller, start a local build using sample files in ./testdata.

docker-compose up

This will create and run three containers. Container names are prefixed by the current working directory name (i.e., traceroute-caller). After the containers are running, trigger a network connection from within one of those containers. For example:

docker exec -it traceroute-caller_traceroute-caller_1 apt-get update

The logs from traceroute-caller should indicate that files are being saved under ./local/*.

ls -lR ./local

Use docker-compose down to stop the containers and remove resources before restarting your docker-compose environment.

docker-compose down
docker-compose up

Documentation

Overview

traceroute-caller is a wrapper around scamper, a tool that actively probes the Internet in order to analyze topology and performance. For details, visit https://www.caida.org/catalog/software/scamper.

traceroute-caller uses the tcp-info/eventsocket package to listen for open and close connection events, and runs a traceroute measurement on closed connections.

Directories

Path Synopsis
Package connection provides a struct to encode a single TCP connection.
Package connection provides a struct to encode a single TCP connection.
Package connectionlistener provides two handlers for open and close events called for each network connection.
Package connectionlistener provides two handlers for open and close events called for each network connection.
Package hopannotation handles hop annotation and archiving.
Package hopannotation handles hop annotation and archiving.
Package ipcache provides a time-based cache object to keep track of recently-seen IP addresses.
Package ipcache provides a time-based cache object to keep track of recently-seen IP addresses.
Package parser handles parsing of scamper JSONL.
Package parser handles parsing of scamper JSONL.
Package tracer takes care of all interaction with traceroute systems.
Package tracer takes care of all interaction with traceroute systems.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL