【免费毕设】JAVA监听系统的设计与开发(源代码+论文)


目录

在这里插入图片描述

一、系统设计

4.1 设计框架图
经过对Winpcap和Jpcap的了解,知道了如何截获数据包并进行处理,现在就要编写代码,将这些步骤嵌入到一个框架中,将数据包的处理结果显示出来,根据本软件所要实现的功能,本设计所需要实现的类结构如图5所示。
在这里插入图片描述
4.2 设计步骤
4.2.1 整体规划
现在对程序进行如下设计:

(1)使用Eclipse 3.2开发的基于J2SESwing的图形用户界面程序;

(2)允许多个窗口同时运行,因此用向量来存储已创建的窗口。为了使各个窗口间的监听不相互干扰,因此为每一个监听过程都开辟一个新的线程,在线程中完成从截获数据包到分析数据包到最后将结果显示出来的全部过程。

(3)将所有截获的数据包用向量存储,当然定义了数量上限。预计监听结果的显示如下:使用JTable组件显示每条分析完后的数据包,并进行动态更的新;若选中表格中的某一条记录时,则在JTree组件中将它所具有的全部协议显示出来,父结点为协议名,子结点为协议字段名,叶子结点为字段取值,同时将数据包的内容转换为字符串显示在JTextArea组件中。

4.2.2 程序运行流程
(1)程序的开始

程序主类为JSniffer,整个程序由此类中的main()函数进入,进行初始化,出现主界面,即JDFrame类的实例,然后等待主界面中的事件响应。

(2)准备监听

当主界面中执行开始监听事件时,创建JDCaptor类实例,这个类实际上就是数据包截获器。JDCaptor类首先调用JDCaptureDialog类,这是一个选择设备对话框,在JDCaptureDialog中使用Jpcap.getDeviceList()和Jpcap.getDeviceDescription()获取设备,根据界面选择设备,然后使用openDevice函数打开设备,返回Jpcap对象给调用它的JDCaptor实体。

(3)截获数据包

JDCaptor类开启一条线程,用来进行截获数据包处理。在此线程中使用刚才得到的Jpcap对象的processPacket()函数截获数据包。

(4)分析数据包

使用Jpcap类的包处理接口JpcapHandler handlePacket()进行截获的数据包的初步处理,每截获一个数据包都放入数据包向量packets中,则packets中存放的就是一次监听过程中所监听到的所有数据包。然后将packets传递给analyzer包中的所有类,即每截获一个数据包,就用所有已经定义的协议进行分析。

(5)分析结果显示

使用JTable控件来显示截获的数据包进过分析后的信息,每分析完一条,显示一条,至于显示哪些信息,由菜单中的“协议查看”下面的选项来决定。当执行选择table中某一行的事件时,用tree控件来显示此数据包对应于各层的协议,并用textarea控件将此数据包的内容转换为字符串完整的显示。

(6)流量统计

使用向量来存储每一个协议的所有的数据包,每分析完一个数据包后,在它所包含的协议的向量中加一。然后绘制每一层协议的饼状图,饼状图动态更新。

(7)数据更新

使用Timer类的start(),setRepeats()来进行动态更新,并通过此类中的事件响应来进行更新时的操作,即提示表格更新。

(8)指定对象监听

指定对象监听就是使用JSourceDialog来得到指定监听的主机的IP地址,监听内容是源IP为指定IP的数据包,如果符合条件则处理,不符合则丢弃。这个过滤处理在分析数据包JpcapHandler handlePacket()中完成。

二、系统实现

5.1使用Eclipse 3.2创建项目
5.1.1 创建项目
使用Eclipse3.2创建JSniffer工程。单击“文件->新建->项目”,在弹出的“新建项目”对话框中选择Java项目,在项目名中填写项目名为“JSniffer”,如图6所示。在这里插入图片描述
5.1.2 创建包
在项目“JSniffer”上单击右键,选择“新建->包”,在弹出的“新建Java包”对话框中填写包名为“analyzer”,在以后的编写过程中,还需创建“stat”、“ui”、“graph”包,在这就不依依介绍了,创建过程类同“analyzer”包的创建,如图7所示。在这里插入图片描述
5.1.3 创建类
在包“analyzer”上单击右键,选择“新建->类”,在弹出的“新建Java类”对话框中填写类名称,如图8所示。

在这里插入图片描述

源文件

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于JAVA CS远程监控系统软件的实现(源代码+WORD论文文档论文) 基于JAVA C/S远程监控系统软件的实现 摘 要 近年来,网络技术的不断发展,为远程监控技术的发展创造了条件。远程监控系统软件越来越受到人们的重视,其实用性也毋庸质疑。基于JAVA C/S远程监控系统软件突破了空间的限制,使用者不用亲临,在自己的电脑面前就能轻松的实现对被监控端机器的监控。本系统采用Java网络编程和Java图形编程实现。笔者在开发过程中将网络技术与远程监控理论基础相结合,实现了以下功能:能连续获得被监控端机器屏幕变化;实现被监控端硬盘文件的上传、下载;实现对鼠标、键盘的模拟;实现在远程机器上执行任意DOS命令;远程关机、远程重启计算机,方便了用户监视和操作被监控端机器。本系统从系统需求分析、概要设计、详细设计到具体的编码实现和后期的代码优化、功能测试都严格遵循了软件工程的思想。 关键词:远程监控;Java Robot;屏幕截取;Java Socket 系统需求分析及理论基础 2.1 系统需求分析 2.1.1 系统功能需求 1.连续获得被控端机器屏幕变化。 2.实现被控端硬盘文件的上传、下载。 3.实现对鼠标、键盘的模拟。 4.实现在被控端机器上执行任意DOS命令。 5.远程关机、远程重启计算机。 2.1.2 其他需求 1.系统实用,界面操作简便。 2.被监控端自动隐藏运行。 被监控端将随电脑启动而自动运行,运行时默认无任何可见界面。 2.2 系统开发原理及关键技术 2.2.1 系统开发原理 本系统是利用类java.awt.robot中的屏幕截取和鼠标、键盘自动控制功能,然后加上网络传输功能来完成来完成截屏和远程控制的。 2.2.2 系统运行概述 1.启动被监控端,打开指定的UDP端口号。用于读取命令。 2.被监控端读取命令(命令格式为ordername:port)ordername为命令名字,port为主控端打开的TCP端口。 3.接到主控端连接后,被监控端就对当前用户的桌面采用屏幕截取,然后发送给主控端。依被监控端设计的不同,可以设定屏幕截取的时间间隔,时间间隔短一点就可以获得连续屏幕变化了。 4.主控端在画布上对鼠标、键盘事件进行监听,被监控端重演主控端上的事件 5.主控端和被监控端读取和发送数据,分别来实现文件上传和下载。 6.在被监控端实现DOS命令的执行。 2.2.3 系统的关键技术 系统使用的关键技术就是Java网络编程和Java图形编程。用Java网络编程实现主控端和被监控端的通讯(命令收发、数据传送),用Java图形编程完成主控端控制界面的编写。具体应用如下: 1.实现主控端(服务器)与被监控端(客户端)之间的通讯。 ——用Java Socket来实现。 2.用Java采集事件,封装成消息,用于发送。 ——在主控端机器上采集事件(一般只不过是键盘和鼠标的事件),然后封装成消息类传输到被监控端。 3.在被监控端上重演主控端的动作事件。 ——在被监控端运行client端,接收消息,如果主控端有请求操作的消息,用Robot截下当前屏幕,传给主控端,主控端显示被监控端的屏幕,是一个位图;然后接收在这个位图上的鼠标事件和键盘事件,并把鼠标位置(位图上的坐标换算成对应的屏幕上的坐标)和键值送到被监控端上,在被监控端上重演同样的事件。 2.3 系统的开发平台 JDK1.5.0,Eclipse3.1,Windows XP Professional 2.3.1 Eclipse介绍 Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境 (IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值