A tool which detects multiple origin AS (MOAS) prefixes based on BGP routing information in the MRT format.
The tool processes BGP routing information encoded in the MRT format.
Public routing information encoded in this format is provided for example by the RIPE Routing Information Service (RIS) or the RouteViews Project. They feature the routing data from a large number of ASes which peer with their route collectors distributed around the globe.
Both of these projects feature two different types of files:
- Table Dumps, which contain the full BGP routing table of the route collector at the time of the snapshot.
- Updates, which contain every BGP update received by the route collector in the respective time period.
Note: Currently only Table Dumps are supported!
The MOAS Detector can directly consume the compressed (gzip or bzip2) MRT files, so no decompression or parsing of the files is required beforehand.
You can download the latest version of the MOAS Detector under the Releases
tab or build it yourself:
$ git clone https://github.com/TheFireMike/moasDetector.git
...
$ cd moasDetector && go build
$ ./moasDetector -h
Usage of ./moasDetector:
-dir string
input file directory (required)
-ignore string
ignore files whose path matches this regex
-max-cpus int
limit the number of used CPUs (default 0 => no limit)
-output string
output directory (default ".")
-peers string
peers to process announcements from (comma seperated list of ASNs) (default all)
First, download and place all uncompressed MRT files which you want to use for the computation into one folder, e.g.:
$ tree mrt_files
mrt_files
├── rrc00
│ └── bview.gz
├── rrc01
│ └── bview.gz
└── rrc02
└── bview.gz
3 directories, 3 files
You can then invoke the MOAS Detector and point it to this directory:
$ ./moasDetector -dir mrt_files
After processing is finished, you will find the detected MOAS prefixes in the output directory.
Next to the moasIPv4.json
and moasIPv6.json
file you will also find the statistics.json
file which contains information about the processed data.