3 个版本

0.1.0 2024年1月18日
0.1.0-rc02024年1月10日
0.1.0-dev2023年10月11日

#1237 in 网络编程


roto 中使用

MPL-2.0 许可证

78KB
991 代码行

BGP路由相关工具

bmp-speaker

bmp-speaker 是一个命令行工具,模拟了一个 RFC 7854 BMP (BGP Monitoring Protocol) 监控路由器。该工具连接到BMP监控站,然后提供一个 REPL 接口,允许向监控站发送BMP协议消息。此工具允许在错误顺序和逻辑不一致的内容中发送BMP消息。例如,在没有发送对应的Peer Up Notification消息的情况下发送Peer Down Notification消息。

免责声明

功能可用性仅限于作者至今所需的功能子集。不对产生消息的正确性或完全实现RFC 7854做出保证。

贡献

通过GitHub pull请求和问题反馈进行贡献和请求。

此工具使用了一些来自NLnet Labs routecore 仓库的功能,目的是让所有BMP和BGP消息构造都由该仓库完成。因此,一些贡献可能更适合作为对routecore仓库的贡献,而不是对这个仓库的贡献。

安装

许可证

由于 bmp-speaker 尚未发布到 crates.io,因此使用 cargo install 安装需要您将 cargo 指向 bmp-speaker 的 Git 仓库。

cargo install routes --bin bmp-speaker --git https://github.com/NLnetLabs/routes

使用方法

bmp-speaker --server <BMP monitoring station ip or hostname>[:<port>]

执行此命令会将您带入 REPL 环境中,您可以从那里指导 bmp-speaker 发送 BMP 消息,例如

> initiation my-sys-name "my-sys-desc long description"
> peer_up_notification global 0 10.0.0.1 12345 127.0.0.1 80 81 888 999 0 0
> route_monitoring global 0 10.0.0.1 12345 0 none "e [123,456,789] 10.0.0.1 BLACKHOLE,123:44 127.0.0.1/32"

您还可以以批处理模式使用此工具,将发送命令存储在文本文件中,然后通过管道将其传入工具。但请注意,当输入管道关闭时,工具会退出。

注意:根据 RFC 7854 第 3.2 节 的规定,"监控站永远不会向被监控的路由器发送 BMP 消息"。因此,bmp-speaker 在发送消息后不会提供任何反馈,因为它不知道监控站如何处理这些消息,如果有的话。

文档

待办事项

依赖项

~11–24MB
~300K SLoC