Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/t2mune/mrtparse
MRT format data parser
https://github.com/t2mune/mrtparse
bgp mrt python
Last synced: 12 days ago
JSON representation
MRT format data parser
- Host: GitHub
- URL: https://github.com/t2mune/mrtparse
- Owner: t2mune
- License: apache-2.0
- Created: 2014-02-02T18:05:14.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-10-23T13:23:55.000Z (about 1 year ago)
- Last Synced: 2024-08-06T00:17:27.864Z (3 months ago)
- Topics: bgp, mrt, python
- Language: Python
- Homepage:
- Size: 2.76 MB
- Stars: 135
- Watchers: 12
- Forks: 39
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: ChangeLog
- License: LICENSE
Awesome Lists containing this project
README
mrtparse
########Introduction
============| mrtparse is a module to read and analyze the MRT format data.
| The MRT format can be used to export routing protocol messages, state changes, and routing information base contents, and is defined in RFC6396_.
| Programs like FRRouting_, Quagga_, Zebra_, BIRD_, OpenBGPD_ and PyRT_ can dump the MRT format data.
| You can also download archives from `the Route Views Projects`_, `RIPE NCC`_... _RFC6396: https://tools.ietf.org/html/rfc6396
.. _FRRouting: https://frrouting.org/
.. _Quagga: https://www.nongnu.org/quagga/
.. _Zebra: https://www.gnu.org/software/zebra/
.. _BIRD: https://bird.network.cz/
.. _OpenBGPD: http://www.openbgpd.org/
.. _PyRT: https://github.com/mor1/pyrt
.. _`the Route Views Projects`: http://archive.routeviews.org/
.. _`RIPE NCC`: https://www.ripe.net/analyse/internet-measurements/routing-information-service-ris/ris-raw-dataSupport
=======Python Version
--------------If you want your code to run faster, you should use PyPy or PyPy3.
* Python2
* Python3
* PyPy
* PyPy3MRT Type
--------+-------------------+---------+
| Name | Value |
+===================+=========+
| TABLE\_DUMP | 12 |
+-------------------+---------+
| TABLE\_DUMP\_V2 | 13 |
+-------------------+---------+
| BGP4MP | 16 |
+-------------------+---------+
| BGP4MP\_ET | 17 |
+-------------------+---------+TABLE_DUMP Subtype
------------------+-------------------+---------+
| Name | Value |
+===================+=========+
| AFI\_IPv4 | 1 |
+-------------------+---------+
| AFI\_IPv6 | 2 |
+-------------------+---------+TABLE_DUMP_V2 Subtype
---------------------+-------------------------------+---------+
| Name | Value |
+===============================+=========+
| PEER_INDEX_TABLE | 1 |
+-------------------------------+---------+
| RIB\_IPV4\_UNICAST | 2 |
+-------------------------------+---------+
| RIB\_IPV4\_MULTICAST | 3 |
+-------------------------------+---------+
| RIB\_IPV6\_UNICAST | 4 |
+-------------------------------+---------+
| RIB\_IPV6\_MULTICAST | 5 |
+-------------------------------+---------+
| RIB\_GENERIC | 6 |
+-------------------------------+---------+
| RIB\_IPV4\_UNICAST\_ADDPATH | 8 |
+-------------------------------+---------+
| RIB\_IPV4\_MULTICAST\_ADDPATH | 9 |
+-------------------------------+---------+
| RIB\_IPV6\_UNICAST\_ADDPATH | 10 |
+-------------------------------+---------+
| RIB\_IPV6\_MULTICAST\_ADDPATH | 11 |
+-------------------------------+---------+
| RIB\_GENERIC\_ADDPATH | 12 |
+-------------------------------+---------+BGP4MP/BGP4MP_ET Subtype
------------------------+--------------------------------------+---------+
| Name | Value |
+======================================+=========+
| BGP4MP\_STATE\_CHANGE | 0 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE | 1 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE\_AS4 | 4 |
+--------------------------------------+---------+
| BGP4MP\_STATE\_CHANGE\_AS4 | 5 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE\_LOCAL | 6 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE\_AS4\_LOCAL | 7 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE\_ADDPATH | 8 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE\_AS4\_ADDPATH | 9 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE\_LOCAL\_ADDPATH | 10 |
+--------------------------------------+---------+
| BGP4MP\_MESSAGE\_AS4\_LOCAL\_ADDPATH | 11 |
+--------------------------------------+---------+BGP Capability
--------------+--------------------------------------------+---------+
| Name | Value |
+============================================+=========+
| Multiprotocol Extensions for BGP-4 | 1 |
+--------------------------------------------+---------+
| Route Refresh Capability for BGP-4 | 2 |
+--------------------------------------------+---------+
| Outbound Route Filtering Capability | 3 |
+--------------------------------------------+---------+
| Graceful Restart Capability | 64 |
+--------------------------------------------+---------+
| Support for 4-octet AS number capability | 65 |
+--------------------------------------------+---------+
| ADD-PATH Capability | 69 |
+--------------------------------------------+---------+BGP Attribute
-------------+-------------------------+---------+
| Name | Value |
+=========================+=========+
| ORIGIN | 1 |
+-------------------------+---------+
| AS\_PATH | 2 |
+-------------------------+---------+
| NEXT\_HOP | 3 |
+-------------------------+---------+
| MULTI\_EXIT\_DISC | 4 |
+-------------------------+---------+
| LOCAL\_PREF | 5 |
+-------------------------+---------+
| ATOMIC\_AGGREGATE | 6 |
+-------------------------+---------+
| AGGREGATOR | 7 |
+-------------------------+---------+
| COMMUNITY | 8 |
+-------------------------+---------+
| ORIGINATOR\_ID | 9 |
+-------------------------+---------+
| CLUSTER\_LIST | 10 |
+-------------------------+---------+
| MP\_REACH\_NLRI | 14 |
+-------------------------+---------+
| MP\_UNREACH\_NLRI | 15 |
+-------------------------+---------+
| EXTENDED COMMUNITIES | 16 |
+-------------------------+---------+
| AS4\_PATH | 17 |
+-------------------------+---------+
| AS4\_AGGREGATOR | 18 |
+-------------------------+---------+
| AIGP | 26 |
+-------------------------+---------+
| LARGE\_COMMUNITY | 32 |
+-------------------------+---------+
| ATTR\_SET | 128 |
+-------------------------+---------+Installation
============::
$ pip install mrtparse
or
::
$ git clone https://github.com/t2mune/mrtparse.git
$ cd mrtparse
$ python setup.py installUsage
=====First, import the module.
::
from mrtparse import *
or
::
import mrtparse
| And pass a MRT format data as a filepath string or file object to a class Reader().
| It is also supported gzip and bzip2 format.
| You can retrieve each entry from the returned object using a loop and then process it.
|::
for entry in Reader(f):
# Parsed data is stored in "entry.data"
We have prepared some example scripts and sample data in `"examples"`_ and `"samples"`_ directory.
.. _`"examples"`: examples
.. _`"samples"`: samplesAuthors
=======| Tetsumune KISO [email protected]
| Yoshiyuki YAMAUCHI [email protected]
| Nobuhiro ITOU [email protected]License
=======| Licensed under the `Apache License, Version 2.0`_
| Copyright (C) 2022 Tetsumune KISO.. _`Apache License, Version 2.0`: http://www.apache.org/licenses/LICENSE-2.0