中南大学课程设计报告课程:计算机网络课程设计题目: 基于 Winpcap 的网络流量统计分析指导教师:张伟目录第一章 总体设计一、实体类设计 --------P3 二、功能类设计 --------P3 三、界面设计 --------P3 第二章 详细设计一、实体类实现 --------P4 二、功能类实现 --------P4 三、界面实现 --------P5 第三章 源代码清单及说明一、 CaptureUtil.java --------P7 二、 MyPcapPacketHandler.java --------P9 三、 PacketMatch.java --------P9 四、 Windows.java --------P13 第四章 运行结果 --------P19 第五章 心得体会 --------P21第一章总体设计一、实体类设计TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计二、功能类设计(1)网卡获取(2)包的抓捕(3)包的处理三、界面设计(1)布局(2)按钮功能连接第二章第二章详细设计一、实体类实现TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计。本程序采用Java编写,基于win10pcap 。Win10pcap 是 winpcap 在 win10 系统上的适用版本。 Java 对于 winpcap 使用 jnetpcap 进行支持。对于TCP、UPD、ICMP、ARP、广播数据包五种类型的包,在jnetpcap 的 jar 包中大部分已经封装好了相关的实体类型。对应如下:ARP 实体类:UPD 实体类:IP 实体类:TCP 实体类:UDP 实体类:而对于其中的广播数据包,其判断我利用捕获到的IP 包的目的地址进行判断,若其目的地址为,则认为其为广播数据包。二、功能类实现(1)网卡获取电脑上的包的发送与接受都得通过网卡来进行,所以为了完成局域网数据包的捕获和统计,我首先要做的是获取到电脑上的网卡列表,然后选择一个网卡进行包的捕获。而相关代码在 jnetpcap的官网的示例代码1 中可以找到, 从中可以学习到的是jnetpcap的各种使用方法。在我电脑上可以捕获到三个网卡,一个是本机自身的物理网卡,另外两个是虚拟机模拟出的虚拟网卡。(2)包的抓捕Jnetpcap 中包的抓捕也是有着固定的格式的,这在官网的示例代码中也是可以找到的,只要设置好相关的参数,就可以进行抓捕具体方法如下,利用Pcap 对象的 loop 方法。就是实例化一个Pcap 对象,然后调用其loop 方法。第一个参数arg0 代表循环次数,第二个参数就是传入一个PcapPaketHandler或其子类的对象,这个对象类型是要由我们自己编写的对包处理的方法。(3)包的处理在这里对捕获的包的处理我是编写了一个PcapPacketHandler...