capture 1.2.0
这是一个基于 PcapPlusPlus、PF_RING 和 ClickHouse 构建的高性能网络流量分析系统,专注于实时流量捕获、解析与存储。
|
处理网络包并提取流级属性的类 More...
#include <flowUniAttr.h>
Public Member Functions | |
void | handle_packet (pcpp::Packet *packet) |
处理单个网络包 | |
void | to_csv (std::ofstream &outputFile, const std::string &tag) |
将流数据导出为CSV格式 |
Public Attributes | |
long long | packet_count = 0 |
此操作器处理的总包数 |
Private Attributes | |
std::unordered_map< uint32_t, flowUniAttr > | m_FlowTable |
将流哈希值映射到流属性的哈希表 |
处理网络包并提取流级属性的类
此类维护网络流的哈希表,处理传入的包以提取和存储每个流的统一属性。 它提供将收集的数据导出为CSV格式的功能。
|
inline |
处理单个网络包
packet | 要处理的包的指针 |
从包中提取统一属性并更新哈希表中相应的流条目。 如果这是新流的第一个包,则创建新的流条目。 忽略已达到最大包数的流中的包。
|
inline |
将流数据导出为CSV格式
outputFile | 写入CSV数据的输出文件流 |
tag | 附加在每行末尾的标签字符串 |
将所有达到最大包数的流导出为CSV格式。 每行包含流的五元组,后跟所有属性序列。 仅处理包数 >= MAX_SIZE_PAC_LEN 的流以过滤掉非常短的流。
|
private |
将流哈希值映射到流属性的哈希表
使用哈希值作为键来快速定位和更新流统计信息
long long operator_UniAttr::packet_count = 0 |
此操作器处理的总包数
跟踪所有流中处理的包总数