mrtparse

MRT format data parser

  • Owner: t2mune/mrtparse
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

mrtparse
========, 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 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
.. _Quagga: http://www.nongnu.org/quagga/
.. _Zebra: https://www.gnu.org/software/zebra/
.. _BIRD: http://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-data

Supported MRT types

+-------------------+---------+, Name, Value, +===================+=========+, TABLE_DUMP, 12, +-------------------+---------+, TABLE_DUMP_V2, 13, +-------------------+---------+, BGP4MP, 16, +-------------------+---------+, BGP4MP_ET, 17, +-------------------+---------+

Supported TABLE_DUMP subtypes

+-------------------+---------+, Name, Value, +===================+=========+, AFI_IPv4, 1, +-------------------+---------+, AFI_IPv6, 2, +-------------------+---------+

Supported TABLE_DUMP_V2 subtypes

+-------------------------------+---------+, 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, +-------------------------------+---------+

Supported BGP4MP/BGP4MP_ET subtypes

+--------------------------------------+---------+, Name, Value, +======================================+=========+, BGP4MP_STATE_CHANGE, +--------------------------------------+---------+, 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, +--------------------------------------+---------+

Supported BGP capabilities

+--------------------------------------------+---------+, 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, +--------------------------------------------+---------+

Supported BGP attributes

+-------------------------+---------+, 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, +-------------------------+---------+

Requirements

Python2 or Python3 or PyPy or PyPy3

Installation

::

$ pip install mrtparse

or

::

$ git clone https://github.com/YoshiyukiYamauchi/mrtparse.git
$ cd mrtparse
$ python setup.py install

Usage

::

from mrtparse import *

or

::

import mrtparse

Programming

First, import the module.

::

from mrtparse import *, 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.

::

d = Reader(f)
for m in d:
    <statements>

We have prepared some example scripts and sample data in "examples"_ and "samples"_ directory.

.. _"examples": https://github.com/YoshiyukiYamauchi/mrtparse/tree/master/examples
.. _"samples": https://github.com/YoshiyukiYamauchi/mrtparse/tree/master/samples

Authors
-------, Tetsumune KISO t2mune@gmail.com, Yoshiyuki YAMAUCHI info@greenhippo.co.jp, Nobuhiro ITOU js333123@gmail.com

License
-------, Licensed under the Apache License, Version 2.0_, Copyright © 2018 Tetsumune KISO

.. _Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Main metrics

Overview
Name With Ownert2mune/mrtparse
Primary LanguagePython
Program languagePython (Language Count: 1)
Platform
License:Apache License 2.0
所有者活动
Created At2014-02-02 18:05:14
Pushed At2023-10-23 13:23:55
Last Commit At2023-10-23 22:23:55
Release Count18
Last Release Namev2.2.0 (Posted on )
First Release Namev0.5 (Posted on )
用户参与
Stargazers Count138
Watchers Count12
Fork Count37
Commits Count522
Has Issues Enabled
Issues Count22
Issue Open Count0
Pull Requests Count9
Pull Requests Open Count0
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private