版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、山东建筑大学计算机科学与技术学院课程设计说明书题 目: 收集并统计网络TCP流量课 程: 计算机网络院 (部): 计算机科学与技术专 业: 网络工程班 级: 学生姓名: 学 号: 指导教师: 完成日期: 目 录课程设计任务书I收集并统计网络TCP流量1一、问题描述1二、基本要求1三、设计思想1四、系统结构1五、程序流程1六、源程序3七、测试数据5八、测试情况6结 论7山东建筑大学计算机科学与技术学院课程设计任务书设计题目收集并统计网络TCP流量已知技术参数和设计要求1.利用WinPCap进行网络监控。2.系统完成以下功能: (1)利用WinPCap收集流经网卡的数据。 (2)对其中的TCP流量
2、进行统计并显示统计结果。 (3)向用户提供友好的交互界面。 (4)用户可以方便地中止或继续TCP流量的统计。 (5)系统必须对出现的问题或错误做出响应。3.建议该系统利用VC+实现。设计内容与步骤1.回顾开发工具的基本使用方法;2.学习WinPCap编程的基本方法;3.TCP流量统计系统框架结构设计;4.TCP流量统计系统的设计与实现6.课程设计任务说明书设计工作计划与进度安排1.学习WinPcap流量统计编程的基本方法 4小时2.程序设计以及调试方法 2小时3.TCP流量统计系统框架结构设计 4小时4.TCP流量统计系统设计 16小时 5.课程设计说明书 14小时设计考核要求1.出勤 202
3、.答辩或演示303.课程设计说明书 50收集并统计网络TCP流量一、问题描述编程实现简单的TCP流量统计器,TCP流量统计器通过各种科学的方式,准确的纪录来访某一页面的访问者的流量信息,它从局域网中抓取IP数据包,并对它进行分析得到相应的头部信息,过滤TCP包进行分析,得到TCP流量信息。二、基本要求1.利用WinPCap进行网络监控。2.系统完成以下功能: (1)利用WinPCap收集流经网卡的数据。 (2)对其中的TCP流量进行统计并显示统计结果。 (3)向用户提供友好的交互界面。 (4)用户可以方便地中止或继续TCP流量的统计。 (5)系统必须对出现的问题或错误做出响应。3.建议该系统利
4、用VC+实现。三、设计思想 TCP流量统计器通过Jpacp与winpcap来进行抓包,JPCAP调用wincap,而给 JAVA语言提供一个公共的接口,WinPcap是用于网络封包抓取的一套工具,调用loopPackage获取数据包。四、系统结构 首先用getDeviceList()方法获取网卡设备号,在用openDevice()方法打开指定设备,然后开始用loopPacket()方法获取数据包,最后进行输出。五、程序流程首先获取设备然后打开设备之后获取数据包最后进行输出,具体的流程图如下:编写构造方法监听动作事件获取设备列表监听动作事件终止 开始 打开指定设备获取数据包输出开始获取设备列表:
5、final NetworkInterface devices = JpcapCaptor.getDeviceList();打开指定设备:JpcapCaptor jpcap = JpcapCaptor.openDevice(ni, 2000, true,20);获取数据包:this.jpcap.loopPacket(-1, new ReceivePacket(this.ipAddr);输出信息:Tcpflowstatistics.jta.append(TCPPacket+n);Tcpflowstatistics.jta.append(|*此数据包的源IP地址: + tcp.src_ip+n);T
6、cpflowstatistics.jta.append(|*此数据包的目的IP地址: + tcp.dst_ip+n);Tcpflowstatistics.jta.append(|*此数据包的发送端口号: + tcp.src_port+n);Tcpflowstatistics.jta.append(|*此数据包的接收端口号: + tcp.dst_port+n);Tcpflowstatistics.jta.append(|*此数据包的源MAC地址: + ethernetPacket.getSourceAddress()+n);Tcpflowstatistics.jta.append(|*此数据包的
7、目的MAC地址: + ethernetPacket.getDestinationAddress()+n);Tcpflowstatistics.jta.append(|*此数据包的传输层协议类型: + tocol + (TCP)+n);Tcpflowstatistics.jta.append(|*此数据包的长度: + tcp.len+n);六、源程序public class Tcpflowstatistics private static Tcpflowstatistics ts;private boolean flag = true;JFrame jf;JButton bt1,
8、bt2, bt3, bt4;static JTextArea jta;JScrollPane jsp;JPanel jp1;Tcpflowstatistics() jf = new JFrame(TGP流量统计器);jf.setLayout(new BorderLayout();jf.setVisible(true);jf.setSize(800, 600);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jta = new JTextArea();jp1 = new JPanel();bt1 = new JButton(开始);bt2 =
9、new JButton(终止);jsp = new JScrollPane();jsp.setViewportView(jta);jp1.add(bt1);jp1.add(bt2);bt1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) bt1Action(e););bt2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) bt2Action(e););jf.add(
10、jp1, BorderLayout.NORTH);jf.add(jsp, BorderLayout.CENTER);public static void main(String args) / 启动统计线程new Tcpflowstatistics();public void init() / 获取本机上的网络接口对象final NetworkInterface devices = JpcapCaptor.getDeviceList();/获取设备列表for (int i = 0; i 0) / 一个网卡可能有多个地址,只获取第一个String addr = ni.addresses0.add
11、ress.toString();try / 创建卡口上的抓取对象JpcapCaptor jpcap = JpcapCaptor.openDevice(ni, 2000, true,20);LoopPacketThread lpt = new LoopPacketThread(jpcap, addr);lpt.start();jta.append(addr + 上的采集线程已启动! + n); catch (IOException e) e.printStackTrace();System.out.println(抓取数据包时出现异常!);public void bt1Action(Action
12、Event e) init();public void bt2Action(ActionEvent e) System.exit(0);public class LoopPacketThread extends Thread private JpcapCaptor jpcap = null;private String ipAddr = ;public LoopPacketThread(JpcapCaptor jpcap, String ipAddr) this.jpcap = jpcap;this.ipAddr = ipAddr;/ -1表示永久抓包public void run() thi
13、s.jpcap.loopPacket(-1, new ReceivePacket(this.ipAddr);/监听捕获包public class ReceivePacket implements PacketReceiver private String ipAddr = ;public ReceivePacket(String ipAddr) this.ipAddr = ipAddr;public void receivePacket(Packet packet) / 如果截获的包为TCP包if (packet instanceof jpcap.packet.TCPPacket) /判断其左
14、边对象是否为其右边类的实例,返回boolean类型的数据TCPPacket tcp = (TCPPacket) packet;/转化为响应实例EthernetPacket ethernetPacket=(EthernetPacket)packet.datalink;Tcpflowstatistics.jta.append(=+n);Tcpflowstatistics.jta.append(TCPPacket+n);Tcpflowstatistics.jta.append(|*此数据包的源IP地址: + tcp.src_ip+n);Tcpflowstatistics.jta.append(|*此
15、数据包的目的IP地址: + tcp.dst_ip+n);Tcpflowstatistics.jta.append(|*此数据包的发送端口号: + tcp.src_port+n);Tcpflowstatistics.jta.append(|*此数据包的接收端口号: + tcp.dst_port+n);Tcpflowstatistics.jta.append(|*此数据包的源MAC地址: + ethernetPacket.getSourceAddress()+n);Tcpflowstatistics.jta.append(|*此数据包的目的MAC地址: + ethernetPacket.getDe
16、stinationAddress()+n);Tcpflowstatistics.jta.append(|*此数据包的传输层协议类型: + tocol + (TCP)+n);Tcpflowstatistics.jta.append(|*此数据包的长度: + tcp.len+n);七、测试数据TCPPacket|*此数据包的源IP地址:5|*此数据包的目的IP地址:34|*此数据包的发送端口号:64060|*此数据包的接收端口号:80|*此数据包的源MAC地址:f4:6d:04:23:a9:da|*此数据包的目的MAC地址:14:14:4b
17、:19:ec:3b|*此数据包的传输层协议类型:6(TCP)|*此数据包的长度:66=TCPPacket|*此数据包的源IP地址:5|*此数据包的目的IP地址:34|*此数据包的发送端口号:64061|*此数据包的接收端口号:80|*此数据包的源MAC地址:f4:6d:04:23:a9:da|*此数据包的目的MAC地址:14:14:4b:19:ec:3b|*此数据包的传输层协议类型:6(TCP)|*此数据包的长度:66=八、测试情况 程序运行结果图: 结 论为期两周的课程设计在老师和自己的努力下很快地结束了,在此期间老师给了我们很大的帮助,在老师的指
18、导之余我还认真学习了其它课本上未曾提到过的知识,比如说网络编程方面的知识,这是我们以前所没有接触过的,虽然说这给了我们很大的一个问题但是也同时给了我们一个很好的挑战自己的机会,以前从未听过Winpcap,现在道了它对于捕我知获网络上的一些数据信息很有帮助,从而丰富了我的知识,同时也知道了如何去利用它来为自己服务,这是一个很大的进步。在自己查找资料的同时也锻炼了我及时捕获有用知识的能力,我想这是我现在乃至以后最大的一个财富,一个人最重要的就是要懂得如何去学,学习不是被动的,而是主动的,只有这样我们才能学得到对于我们自己有帮助的东西,用JAVA编程实现TCP数据报流量统计,开始这对于我来说是是一个很模糊的概念,但是当我在查找了很多资料之后我不再迷茫,而是慢
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部门高效协同办公
- 《得舒饮食指南》解读
- 处方调配相关试题和对应答案
- 2026年全国统考数学二考点精练(历年真题分类汇编)
- 贝尔面瘫诊疗指南(2024版)
- 机械组装面试试题及答案解析
- 2026年新版道德与法治六年级上册第三单元复习课教案
- 2026年制冷与空调作业安全课件
- 2026 年秋季免疫力提升科学方法科普
- 某麻纺厂纺纱工艺制度
- 2025年中国1,7-辛二烯行业市场前景预测及投资价值评估分析报告
- 初一英语阅读理解训练题及答案解析
- 2024北森图形推理题
- 2024秋新人教版小学一年级艺术唱游·音乐上册《第一单元 奇妙的声音世界》教案设计
- 国家级突发中毒事件卫生应急处置队建设规范
- 电厂阀门检修培训
- 小学数学分层作业设计课题研究计划
- 建筑地基基础检测规范DBJ-T 15-60-2019
- 林业安全知识培训
- 整车DTS测量规范
- 学校安全事故应急处置流程图
评论
0/150
提交评论