# Network_Traffic_Processing **Repository Path**: wanggang2020/Network_Traffic_Processing ## Basic Information - **Project Name**: Network_Traffic_Processing - **Description**: c++学习和使用cmake - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-25 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 说明 + 网络流量处理,解析,统计,对比 #### V0_Network_Pcap_Tools + 用流量对比来学习上期流量解码的 #### V1 + 94.235 上郑州在用的流量对比 #### V2 + 打算改进的流量对比 + 优化代码组织形式,用命名空间隔离模块 + 用全局队列代替 共享队列,实现线程间通信 + 如何保证数据消费的 精确一次性 + + 数据包获取模块 + 数据包解析模块 + 获取模块使用pcap,socket,efvi获取到原始数据包(包含ip头部) + 解析模块解析其中的tcp/udp包,并按配置 + + 重点在解析行情原文上,之后增加两个时间戳字段进行比较 + 一个udp包中有多个行情的,这时使用抓包的时间戳是一样的 + + pcap和socket获取同一个网卡的数据包时,数据是否一致(都不加过滤条件) + #### V3 + efvi 版本 + 待优化 + 日志优化 + 调用封装优化 + 33楼开发机回放和接收 + 回放 = /wg/hui_fang -i enp1s0f1 + 接收 = tcpdump -i enp1s0f0 #### V4 + 功能拆分数据获取和数据处理模块 + #### 跨平台运行 = 针对不同gcc版本 + 编译时用静态编译 + 或者,运行时,指定libc库的位置 + 复制可以运行的 libstdc++.so.6 到程序工作路径,ll /lib64/libstdc++.so.6 + export LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH + 运行程序 #### 待优化 + 多张网卡 + #### 问题 + 内置/netinet中的 ip/tcp/udp 和自定义数据结构的区别 + netinet中的是标准化的格式,用于确保不同系统之间的兼容性和通信的一致性。而自定义数据结构则允许开发者根据应用需求来设计和使用特定的数据格式 + #include // 结合其他必要的头文件使用原始套接字 + #include + #include + #include