3 个版本
0.1.0 | 2024年1月18日 |
---|---|
0.1.0-rc0 | 2024年1月10日 |
0.1.0-dev | 2023年10月11日 |
#1237 in 网络编程
在 roto 中使用
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