此应用程序导出有关通过 TZSP 接收的数据包流的指标。目标是测量 IPv4 级别上可见的数据流类型,而无需深入了解数据包详细信息。
系统要求:
tshark
软件包就足够了。 tshark
命令必须在新终端中可用。您可能需要在 PATH 环境变量中注册安装目录。
该应用程序仅执行数据包流的分析,而不是初始捕获。您需要配置路由器来捕获数据包流并将其以 TZSP 格式提供给此应用程序。
MikroTik RouterOS 内置了对 TZSP 数据包捕获的支持。您还可以使用sniff-tzsp
操作定义 MikroTik 防火墙 mangle 规则,以对捕获的流量进行详细过滤。
tzsp_packetstream_exporter --interface eth0 --listen-port 1234
执行应用程序(有关更多信息,请参阅--help
)。hostname:9184
作为抓取目标。普罗米修斯抓取配置示例:
- job_name : ' my_packet_analysis '
static_configs :
- targets :
- hostname:9184
仅分析 IPv4 数据包 - IPv6 被忽略。
您可以将多个 TZSP 流定向到同一个分析器,无论是在同一端口还是单独的端口上(使用多个--listen-port
选项)。输出指标带有一个标签,指示数据到达的侦听端口。
tshark:无法在子进程中运行 /usr/bin/dumpcap:权限被拒绝
运行应用程序的用户必须拥有使用 TShark 所需的权限。在Linux 上,您可能需要将用户添加到wireshark
组,具体取决于系统配置。
如果您的用户无权在指定端口上发布结果,则应用程序可能会在 Windows 上引发访问拒绝异常。您可以使用netsh命令授予自己所需的权限:
netsh http add urlacl url=http://+:9184/metrics user=DOMAINuser
这里需要指定的端口号是发布端口,默认为9184。
TZSP 协议的实现可以在某些情况下截断数据包,这可能会导致操作系统将它们过滤掉,并且永远不会将它们交给侦听应用程序。使用 TShark 确保我们甚至可以处理被截断的数据包。