capture 1.2.0
这是一个基于 PcapPlusPlus、PF_RING 和 ClickHouse 构建的高性能网络流量分析系统,专注于实时流量捕获、解析与存储。
Loading...
Searching...
No Matches
unifiedPacketAttr Class Reference

包统一属性基类,表征了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代码

Detailed Description

包统一属性基类,表征了IPv4的IP到传输层大多数有用的属性

从网络包中提取各层协议的关键属性,包括五元组信息、时间戳、 IPv4层属性、传输层属性等,为后续分析提供统一的数据结构。

Constructor & Destructor Documentation

◆ unifiedPacketAttr()

unifiedPacketAttr::unifiedPacketAttr ( pcpp::Packet * packet)

构造函数

构造函数实现

Parameters
packet要解析的网络包指针

从给定的网络包中提取各层协议的属性信息

解析网络包的各层协议信息:

  1. 计算五元组哈希值作为流ID
  2. 提取包长度和时间戳
  3. 解析IPv4层属性
  4. 根据协议类型解析传输层属性(TCP/UDP/ICMP)

◆ ~unifiedPacketAttr()

unifiedPacketAttr::~unifiedPacketAttr ( )
inline

析构函数

清理资源

Member Data Documentation

◆ ack_num

uint32_t unifiedPacketAttr::ack_num

确认号(UDP无此字段)

◆ dst_ip

std::string unifiedPacketAttr::dst_ip

目的IP地址

◆ dst_port

uint16_t unifiedPacketAttr::dst_port

目的端口(ICMP无此字段)

◆ flag

uint16_t unifiedPacketAttr::flag

TCP标志位

◆ hash_val

uint32_t unifiedPacketAttr::hash_val

五元组计算的流ID

◆ icmp_code

uint8_t unifiedPacketAttr::icmp_code

ICMP代码

◆ icmp_type

uint8_t unifiedPacketAttr::icmp_type

ICMP类型

◆ id

uint16_t unifiedPacketAttr::id

IP标识字段

◆ ip_version

bool unifiedPacketAttr::ip_version

IP版本号,0:IPv4, 1:IPv6.

◆ len_ip

uint16_t unifiedPacketAttr::len_ip

IP段总长度

◆ len_load

uint16_t unifiedPacketAttr::len_load

负载长度

◆ len_udp

uint16_t unifiedPacketAttr::len_udp

UDP长度字段

◆ offset

uint16_t unifiedPacketAttr::offset

片偏移字段

◆ packet_len

uint32_t unifiedPacketAttr::packet_len

包长度

◆ protocol

uint8_t unifiedPacketAttr::protocol

传输层协议类型:TCP=0, UDP=1, ICMP=2

◆ protocol_ip

uint8_t unifiedPacketAttr::protocol_ip

IP协议类型字段

◆ seq_num

uint32_t unifiedPacketAttr::seq_num

序列号(UDP无此字段)

◆ src_ip

std::string unifiedPacketAttr::src_ip

源IP地址

◆ src_port

uint16_t unifiedPacketAttr::src_port

源端口(ICMP无此字段)

◆ tos

uint8_t unifiedPacketAttr::tos

服务类型(Type of Service)

◆ ttl

uint8_t unifiedPacketAttr::ttl

生存时间(Time To Live)

◆ tv_nsec

uint32_t unifiedPacketAttr::tv_nsec

时间戳(纳秒)

◆ tv_sec

uint32_t unifiedPacketAttr::tv_sec

时间戳(秒)

◆ window

uint16_t unifiedPacketAttr::window

TCP窗口大小


The documentation for this class was generated from the following file: