网络流量在线分析报告系统地设计与实现

上传人:re****.1 文档编号:489951726 上传时间:2022-10-11 格式:DOC 页数:29 大小:84.50KB
返回 下载 相关 举报
网络流量在线分析报告系统地设计与实现_第1页
第1页 / 共29页
网络流量在线分析报告系统地设计与实现_第2页
第2页 / 共29页
网络流量在线分析报告系统地设计与实现_第3页
第3页 / 共29页
网络流量在线分析报告系统地设计与实现_第4页
第4页 / 共29页
网络流量在线分析报告系统地设计与实现_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《网络流量在线分析报告系统地设计与实现》由会员分享,可在线阅读,更多相关《网络流量在线分析报告系统地设计与实现(29页珍藏版)》请在金锄头文库上搜索。

1、综合实训报告题目:网络流量在线分析系统的设计与实现华中农业大学正方教务系统王枫指导老师:王建勇 信息学院计算机科学系目 录一、 实训目的3二、 实训容3 三、 主要设备及环境4 四、 设计与步骤5 五、 整理与小结17 六、 参考文献18一、实训目的设计并实现一个网络流量的分析系统。该系统具有以下功能:(1)实时抓取网络数据。(2)网络协议分析与显示。(3)将网络数据包聚合成数据流,以源IP、目的IP、源端口、目的端口及协议等五元组的形式存储。(4)计算并显示固定时间间隔网络连接(双向流)的统计量(如上行与下行的数据包数目,上行与下行的数据量大小等)。在这些统计数据的基础上分析不同网络应用的流

2、量特征。二、实训容 (1)能够实时抓取网络中的数据包。并实时显示在程序界面上。用户可自定义过滤条件以抓取所需要的数据包。(2)分析各个网络协议格式,能够显示各协议字段的实际意义。例如,能够通过该程序反映TCP三次握手的实现过程。(3)采用Hash链表的形式将网络数据以连接(双向流)的形式存储。(4)计算并显示固定时间间隔网络连接(双向流)的统计量(如上行与下行的数据包数目,上行与下行的数据量大小等)。例如,抓取一段时间(如30分钟)的网络流量,将该段时间以固定时长(如1分钟)为单位分成若干个时间片,计算网络连接在每一个时间片的相关统计量。并在上述统计数据的基础上分析不同应用如WEB、DNS、在

3、线视频等服务的流量特征。注意,可根据实际的流量分析需要自己定义相关的统计量。三、主要设备及环境硬件设备:(1)台式计算机或笔记本计算机(含网络适配器)软件设备:(2)Windows操作系统(3)网络数据包捕获函数包,Windows平台为winpcap(4)编程语言选用C/C+。(5)编程环境为codeblocks四、 设计与步骤(1) 定义 mac,以太网帧,IPv4 首部,TCP 首部, UDP 首部与一些用于设置时间的结构体, 回调函数原型 包括哈希表的插入,搜索,初始化。* 6字节的mac地址 */typedef struct mac_address u_char byte1; u_ch

4、ar byte2; u_char byte3; u_char byte4; u_char byte5; u_char byte6; mac_address;/* 以太网帧 */typedef struct ethernet_header mac_address daddr; /目的MAC地址 mac_address saddr; /源MAC地址 u_short etherType /以太网帧类型 ethernet_header;/* IPv4 首部 */typedef struct ip_header u_char ver:4,ihl:4; / 版本 (4 bits) + 首部长度 (4 bi

5、ts) u_char tos; / 服务类型(Type of service) u_short tlen; / 总长(Total length) u_short identification; / 标识(Identification) u_short flags_fo; / 标志位(Flags) (3 bits) + 段偏移量(Fragment offset) (13 bits) u_char ttl; / 存活时间(Time to live) u_char proto; / 协议(Protocol) u_short crc; / 首部校验和(Header checksum) struct i

6、n_addr saddr; / 源地址(Source address) struct in_addr daddr; / 目的地址(Destination address) u_int op_pad; / 选项与填充(Option + Padding) ip_header;/* TCP 首部*/typedef struct tcp_header u_short sport; / 源端口(Source port) u_short dport; / 目的端口(Destination port) u_int32_t snumber; /序列号 u_int32_t umber; /确认号 u_short

7、 reserve:6, /保留位 tlen:4, /报头长度 /后6位标志位 fin : 1, /关闭连接标志 syn : 1, /请求连接标志 rst : 1, /重置连接标志 psh : 1, /接收方尽快将数据放到应用层标志 ack : 1, /确认序号标志 urg : 1, /紧急指针标志 ece : 1, /拥塞标志位 cwr : 1; /拥塞标志位 u_short window; /窗口 u_short csum; /校验和 u_short urgent; /紧急 u_int op_pad; / 选项与填充(Option + Padding) tcp_header;/* UDP 首

8、部*/typedef struct udp_header u_short sport; / 源端口(Source port) u_short dport; / 目的端口(Destination port) u_short len; / UDP数据包长度(Datagram length) u_short crc; / 校验和(Checksum) udp_header;/*用于设置时间的结构体*/typedef struct argument pcap_t *adhandle; int time;argument;void crawl_time(void *time_c);/* 回调函数原型 */

9、void packet_handler_mac(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);void packet_handler_ip(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);void packet_handler_tcp(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);void packe

10、t_handler_udp(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);void InitHashTable(HashTable* H)/初始化哈希表 int i; H - count = MAXSIZE; H - Table = ( HashNode* )malloc( ( H-count ) * sizeof( HashNode ) ); for(i = 0;i count; i+) H-Tablei.ip_source_address; H-Tablei.ip_dest_address;

11、 H-Tablei.source_port = 0; H-Tablei.dest_port = 0; H-Tablei.sum = NULLKEY; H-Tablei.next = NULL; int Hash(int key) return key % MAXSIZE;int InsertHashTable(HashTable *H,struct in_addr source_address,struct in_addr dest_address,u_int16_t s_port,u_int16_t d_port,int key)/插入哈希表 int addr; addr = Hash(ke

12、y); if(H-Tableaddr.sum != key & H -Tableaddr.sum != NULLKEY) HashNode *hashnode = (HashNode *)malloc(sizeof(HashNode); hashnode-next = H-Tableaddr.next; hashnode-ip_source_address = source_address; hashnode-ip_dest_address = dest_address; hashnode-sum = key; hashnode-source_port = s_port; hashnode-dest_port = d_port; H-Tableaddr.next = hashnode; addr+; return addr; else if

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号