📄 packet.h
字号:
/*
文件名 : packet.h
功能描述 : 描述采集到的数据封包的数据结构
*/
#ifndef PACKET_H
#define PACKET_H
#include <stdint.h>
#include "queue.h"
#include <time.h>
#include <net/ethernet.h>
typedef struct packet_struct{
unsigned int size ;/* 本结构占用空间的大小,含data包含的数据区 */
TAILQ_ENTRY(packet_struct) _list ;/* 用于将数据封包挂入某各链表 */
time_t tv_sec;
u_int8_t s_mac[ETH_ALEN];
u_int8_t d_mac[ETH_ALEN];
u_int32_t source_ip ;/* 源IP */
u_int32_t target_ip ;/* 目的IP */
u_int16_t sport;/*源端口*/
u_int16_t dport;/*目的端口*/
u_int16_t trans_len ;/* 传输层及应用层数据长度 */
u_int16_t app_len;/* 应用层数据长度 */
//uint16_t reference_num;/*引用次数*/
u_int8_t protocol_type; /* 是否是TCP封包,是 : 1 否: 0 */
u_int8_t *trans_data ;/* 传输层及应用层数据 */
u_int8_t *app_data ;/* 应用层数据 */
unsigned long handle;
}packet_t ;
typedef TAILQ_HEAD(packets_struct , packet_struct) packets_t ;
#endif /* #ifndef PACKET_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -