PyBGPStream安装教程及问题处理
官网安装教程:BGPStream (caida.org)
安装PyBGPStream前需要先安装libBGPStream
libBGPStream安装
官网安装教程:BGPStream
-
安装依赖
sudo apt update sudo apt upgrade -y sudo apt autoremove sudo apt install libbz2-dev zlib1g-dev libcurl-ocaml-dev build-essential dh-autoreconf python python-pip libtool-bin -y
-
安装wandio
mkdir ~/src cd ~/src/ curl -LO https://github.com/LibtraceTeam/wandio/archive/refs/tags/4.2.4-1.tar.gz tar zxf wandio-4.2.4-1.tar.gz cd wandio-4.2.4-1/
若目录下没有configure
,则需手动生成:
aclocal autoconf autoreconf -vfi #若提示error: Libtool library used but 'LIBTOOL' is undefined,则需 sudo apt-get install libtool
生成configure
文件后
./configure make sudo make install sudo ldconfig
cd ~/src/ curl -LO https://github.com/CAIDA/libbgpstream/releases/download/v2.2.0/libbgpstream-2.2.0.tar.gz tar zxf libbgpstream-2.2.0.tar.gz cd libbgpstream-2.2.0/
若目录下没有configure
,则需手动生成,若此时直接生成configure
可能会产生错误:error:could not find pthread_yield function,这是由于pthread_yield
函数已被弃用,将configure.ac
中的所有pthread_yield
均替换为sched_yield
,再生成configure
文件
aclocal autoconf autoreconf -vfi ./configure make make check sudo make install sudo ldconfig
PyBGPStream安装
官网安装教程:BGPStream
libBGPStream安装完成后,从PyPI安装
pip install pybgpstream
-
测试
$ curl https://raw.githubusercontent.com/CAIDA/pybgpstream/master/examples/tutorial_print.py | python valid ris.rrc06 1427846570 W 202.249.2.185 25152 W {'prefix': '144.104.37.0/24'} valid ris.rrc06 1427846573 A 2001:200:0:fe00::6249:0 25152 A {'next-hop': '2001:200:0:fe00::9c1:0', 'prefix': '2a00:bdc0:e004::/48', 'as-path': '25152 2497 6939 47541 28709'} ...