mrtparse

MRT format data parser

  • 所有者: t2mune/mrtparse
  • 平台:
  • 许可证: Apache License 2.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

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

主要指标

概览
名称与所有者t2mune/mrtparse
主编程语言Python
编程语言Python (语言数: 1)
平台
许可证Apache License 2.0
所有者活动
创建于2014-02-02 18:05:14
推送于2023-10-23 13:23:55
最后一次提交2023-10-23 22:23:55
发布数18
最新版本名称v2.2.0 (发布于 )
第一版名称v0.5 (发布于 )
用户参与
星数139
关注者数12
派生数37
提交数522
已启用问题?
问题数22
打开的问题数0
拉请求数9
打开的拉请求数0
关闭的拉请求数2
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?