capture 1.2.0
这是一个基于 PcapPlusPlus、PF_RING 和 ClickHouse 构建的高性能网络流量分析系统,专注于实时流量捕获、解析与存储。
|
包统一属性基类,表征了IPv4的IP到传输层大多数有用的属性 More...
#include <unifiedPacketAttr.h>
Public Member Functions | |
unifiedPacketAttr (pcpp::Packet *packet) | |
构造函数 | |
~unifiedPacketAttr () | |
析构函数 |
Public Attributes | |
uint32_t | hash_val |
五元组计算的流ID | |
uint32_t | packet_len |
包长度 | |
uint32_t | tv_sec |
时间戳(秒) | |
uint32_t | tv_nsec |
时间戳(纳秒) | |
std::string | src_ip |
源IP地址 | |
std::string | dst_ip |
目的IP地址 | |
uint8_t | ttl |
生存时间(Time To Live) | |
uint8_t | tos |
服务类型(Type of Service) | |
uint16_t | id |
IP标识字段 | |
uint16_t | offset |
片偏移字段 | |
uint16_t | len_ip |
IP段总长度 | |
bool | ip_version |
IP版本号,0:IPv4, 1:IPv6. | |
uint8_t | protocol_ip |
IP协议类型字段 | |
uint8_t | protocol |
传输层协议类型:TCP=0, UDP=1, ICMP=2 | |
uint16_t | len_load |
负载长度 | |
uint16_t | src_port |
源端口(ICMP无此字段) | |
uint16_t | dst_port |
目的端口(ICMP无此字段) | |
uint32_t | ack_num |
确认号(UDP无此字段) | |
uint32_t | seq_num |
序列号(UDP无此字段) | |
uint16_t | flag |
TCP标志位 | |
uint16_t | window |
TCP窗口大小 | |
uint16_t | len_udp |
UDP长度字段 | |
uint8_t | icmp_type |
ICMP类型 | |
uint8_t | icmp_code |
ICMP代码 |
包统一属性基类,表征了IPv4的IP到传输层大多数有用的属性
从网络包中提取各层协议的关键属性,包括五元组信息、时间戳、 IPv4层属性、传输层属性等,为后续分析提供统一的数据结构。
unifiedPacketAttr::unifiedPacketAttr | ( | pcpp::Packet * | packet | ) |
构造函数
构造函数实现
packet | 要解析的网络包指针 |
从给定的网络包中提取各层协议的属性信息
解析网络包的各层协议信息:
|
inline |
析构函数
清理资源
uint32_t unifiedPacketAttr::ack_num |
确认号(UDP无此字段)
std::string unifiedPacketAttr::dst_ip |
目的IP地址
uint16_t unifiedPacketAttr::dst_port |
目的端口(ICMP无此字段)
uint16_t unifiedPacketAttr::flag |
TCP标志位
uint32_t unifiedPacketAttr::hash_val |
五元组计算的流ID
uint8_t unifiedPacketAttr::icmp_code |
ICMP代码
uint8_t unifiedPacketAttr::icmp_type |
ICMP类型
uint16_t unifiedPacketAttr::id |
IP标识字段
bool unifiedPacketAttr::ip_version |
IP版本号,0:IPv4, 1:IPv6.
uint16_t unifiedPacketAttr::len_ip |
IP段总长度
uint16_t unifiedPacketAttr::len_load |
负载长度
uint16_t unifiedPacketAttr::len_udp |
UDP长度字段
uint16_t unifiedPacketAttr::offset |
片偏移字段
uint32_t unifiedPacketAttr::packet_len |
包长度
uint8_t unifiedPacketAttr::protocol |
传输层协议类型:TCP=0, UDP=1, ICMP=2
uint8_t unifiedPacketAttr::protocol_ip |
IP协议类型字段
uint32_t unifiedPacketAttr::seq_num |
序列号(UDP无此字段)
std::string unifiedPacketAttr::src_ip |
源IP地址
uint16_t unifiedPacketAttr::src_port |
源端口(ICMP无此字段)
uint8_t unifiedPacketAttr::tos |
服务类型(Type of Service)
uint8_t unifiedPacketAttr::ttl |
生存时间(Time To Live)
uint32_t unifiedPacketAttr::tv_nsec |
时间戳(纳秒)
uint32_t unifiedPacketAttr::tv_sec |
时间戳(秒)
uint16_t unifiedPacketAttr::window |
TCP窗口大小