JAVA实现的基于PCAP库的网络监视器
摘 要
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。本网络监视器就是模拟Wireshark的设计思想,是一个简单的网络监视分析软件。
利用pcap这个抓包库给抓包系统提供了一个高层次的接口。所有网络上的数据包,甚至是那些发送给其他主机的,通过这种机制,都是可以捕获的。当利用pcap获取到包后,再将这个包依据不同的协议进行拆分,封装的方法详细程度超过了pcap库本身的方法。
通过该网络监视器的实现,能够清晰地看到数据包里面的内容。实现触发功能,让网络监视器在发生某种或某些情况时开始或停止捕获信息。实现数据捕获筛选功能。包括:通过协议筛选、通过地址筛选、通过数据模式筛选。实现捕获数据显示功能。由用户选定显示内容,以清晰易懂的方式显示数据。分析数据功能。将捕获到的数据帧进行拆分分析。最后设计了美观易用的图形界面。
关键字 :网络监视 捕捉数据包 数据帧拆分 筛选
1 引言
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。本实验实现了抓包过程中的截获阶段,并将数据包进行分析。在数据包的分析过程中,有助于开发者更加理解网络协议,在真正意义上实现了协议的拆分试验。目的也是让软件使用者能清晰网络捕捉包中的包数据分析以及结构。
2 总体设计
2.1 功能分析
-
实现触发功能,让网络监视器在发生某种或某些情况时开始或停止捕获信息
-
实现数据捕获筛选功能。通过协议筛选、通过地址筛选、通过数据模式筛选
-
实现捕获数据显示功能。由用户选定显示内容,以清晰易懂的方式显示数据
-
分析数据功能。将捕获到的数据帧进行拆分分析
-
设计美观易用的图形界面。
2.2 技术分析
主要使用JAVA进行后台开发,利用pcap库获取捕捉到的数据包,然后逐一拆分成不同协议的数据。前端利用HTML展示,其中利用了vue.js实现前端数据绑定。
2.3 使用方法
在源码包中找到startCap.jar,点击启动。然后找到monitor中的index.html就可以进行操作。
3 详细设计
3.1 程序设计流程
3.2 功能模块
3.3 功能测试
初始界面
点击开始按钮捕捉包
停止
获取数据包详细数据分析
筛选协议为IP,mac地址为48-a1-95-97-65-26的包
4 总结
4.1 工作小结
此次网络监视器设计让我对网络协议有了更加清晰明了的了解,在实际上明白了一个数据包如何封装如何解析,让五层网络结构不再是纸上谈兵。“纸上得来终觉浅,绝知此事要躬行”是我这次实验的最大收获,在错误分析,bug修复中使自己的编程能力有了总体提高,在项目结构上有了清晰明了的了解。
4.2 存在的问题
此网络监视器虽然让我受益良多,但任然存在一些问题。最大的问题是,该项目采用web软件的形式,但是前后端分离不够清晰,虽然整体上采用了MVC结构,但是目前比较优秀的网站设计,应该是前后端完全分离。前端模块化,采用MV*架构,后端采用MVC架构,前后端之间的沟通可以采用遵守RESTFUL规范的API接口进行数据传输。
4.3 改进的方法
改进的方法应该是重构整个架构,细节无需改变,将前后端项目分开开发,解决跨域问题。要实现前端模块化,前端可以采用MV*架构,后端采用MVC架构,前后端之间的沟通可以采用遵守RESTFUL规范的API接口进行数据传输。
参考文献
- 企业上网监控系统总体研究及WEB管理的实现(北京邮电大学·刘新闻)
- 实时视频监控系统的设计与实现(西安电子科技大学·索郎邓珠)
- 基于J2EE的远程监控系统的研究与设计(南昌航空大学·谭波峰)
- 基于J2EE的远程监控系统的研究与设计(南昌航空大学·谭波峰)
- 基于.NET B/S结构的数据库系统研发(兰州大学·王小伟)
- 基于J2EE架构的MPS移动定位系统中跟踪监控子系统的研究与应用(电子科技大学·刘明皋)
- IT集中监控管理系统的设计与实现(东北大学·张春晓)
- 基于Web的工厂级生产设备监控软件平台设计(广东工业大学·王新宁)
- 基于.NET B/S结构的数据库系统研发(兰州大学·王小伟)
- 基于手机APP的卫星通信地球站监控系统的研究与实现(南京邮电大学·张书晨)
- 基于J2EE的远程监控系统的研究与设计(南昌航空大学·谭波峰)
- 基于Java Web及Android平台的智能家居监控系统(西安电子科技大学·张晶)
- 基于Web技术的网络报警监控系统的设计与实现(南昌大学·曾欣)
- 电视台节目播出后台监视系统的设计与实现(电子科技大学·钟声)
- 基于Struts+Spring+Hibernate的天线监控系统设计与实现(西安电子科技大学·李维超)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码小屋 ,原文地址:https://m.bishedaima.com/yuanma/35153.html