Skip to main content

A Python CFFI wrapper for analyzing MRTv1 and MRTv2 BGP table dump files

Project description

## bgpdumpy

### Overview

`bgpdumpy` is a [libbgpdump](https://bitbucket.org/ripencc/bgpdump) Python CFFI wrapper for analyzing MRT and MRTv2 BGP table dump files.

### Example

```python
import re
from bgpdumpy import BGPDump

with BGPDump( 'latest-bview.gz' ) as bgp:

for entry in bgp:

# entry.body can be either be TableDumpV1 or TableDumpV2

if not isinstance( entry.body, TableDumpV2 ):
continue # I expect an MRT v2 table dump file

# get a string representation of this prefix
prefix = '%s/%d' %( entry.body.prefix, entry.body.prefixLength )

# get a list of each unique originating ASN for this prefix
originatingASs = set( [
re.split( r'\s+', route.attr.asPath )[-1]
for route
in entry.body.routeEntries] )

# just print it for demonstration purposes
print( '%s -> %s' %( prefix, '/'.join( originatingASs ) ) )

# 1.0.0.0/24 -> 15169
# 1.0.4.0/24 -> 56203
# 1.0.5.0/24 -> 56203
# 1.0.6.0/24 -> 56203
# 1.0.7.0/24 -> 38803
# 1.0.38.0/24 -> 24155
# 1.0.64.0/18 -> 18144
# 1.0.128.0/17 -> 9737
# 1.0.128.0/18 -> 9737
# 1.0.128.0/19 -> 9737
# ...
# 2001::/32 -> 6939
# 2001:4:112::/48 -> 112
# 2001:200::/32 -> 2500
# 2001:200:900::/40 -> 7660
# 2001:200:c000::/35 -> 23634
```

Project details


Release history Release notifications

This version
History Node

1.0.1

History Node

1.0.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
bgpdumpy-1.0.1.tgz (1.5 MB) Copy SHA256 hash SHA256 Source None Aug 5, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page