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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?