毕设让做监控计算机资源的在线考试系统
使用springboot开发在线考试系统 监控进程资源 确定一个白名单 如果新进程不在白名单内就会发出警报
请问如何实现 如何确定白名单呢
参考GPT和自己的思路:要监控计算机资源,需要使用计算机监控软件或监控系统来进行检测和记录。这些监控软件可以检测CPU利用率、内存使用情况、磁盘读写速度、网络流量、进程状态等信息,并生成相应的报告。在在线考试系统中,监控可以通过在考试软件中嵌入监控软件或者通过远程监控的方式实现。具体的实现方式需要根据具体应用场景进行设计和调整,以确保监控的有效性和安全性。
该回答引用于gpt与OKX安生共同编写:
实现一个在线考试系统并监控计算机资源,你可以考虑以下技术和方法:
使用 Java 网络编程:Java 提供了丰富的网络编程功能,可以通过创建服务器和客户端程序来实现网络通信。你可以使用 Java Socket 或 Java NIO(SocketChannel) 等技术实现在线考试系统和计算机资源监控。
使用操作系统API监控计算机资源:为了监控计算机资源,你需要收集 CPU 使用率、内存使用率、磁盘使用情况等信息。你可以使用操作系统提供的 API(例如 Windows 的 Performance Counter 或 Linux 的 sysstat)来获取这些信息。
使用Web前端展示监控数据:你可以用 HTML、CSS 和 JavaScript 等 Web 技术来设计和实现一个可视化的监控面板。监控面板可以展示 CPU、内存、磁盘等资源的实时使用情况,以及在线考试系统的运行状态。
数据库存储监控数据:如果需要存储历史监控数据和分析趋势,你可以使用数据库(如 MySQL、Oracle、MongoDB 等)存储监控数据,并使用 SQL 查询语言来对数据进行分析。
使用开源软件:如果你不想从头开始开发在线考试系统和计算机资源监控系统,你可以考虑使用一些开源软件来快速搭建。例如,Moodle 是一个流行的开源在线教育平台,可以用来实现在线考试系统;Zabbix、Nagios 等是一些常用的开源监控软件,可以用来实现计算机资源监控。
总之,在线考试系统和计算机资源监控需要使用多种技术和方法相互配合,才能实现一个高效稳定的系统。因此,你需要根据具体需求和条件选择最适合的技术和方案。
该回答引用NewBing
监控计算机资源可以通过在考试软件中嵌入监控软件或者通过远程监控的方式实现。监控软件可以检测CPU利用率、内存使用情况、磁盘读写速度、网络流量、进程状态等信息,并生成相应的报告①。具体的实现方式需要根据具体应用场景进行设计和调整,以确保监控的有效性和安全性。
此外,还有一些在线考试系统作弊监控技术,如基于单机摄像头的在线考试监控方案,能检测到找人替考等一些常规作弊行为②。
源: 与必应的对话, 2023/3/25
(1) 在线考试如何监控计算机资源-编程语言-CSDN问答. https://ask.csdn.net/questions/7909738 访问时间 2023/3/25.
(2) 在线考试系统作弊监控技术研究 - 豆丁网. https://www.docin.com/p-2216466439.html 访问时间 2023/3/25.
(3) 计算机在线考试系统有监控吗,在线考试系统建设的意义_皓晗的博客-CSDN博客. https://blog.csdn.net/weixin_30591519/article/details/118263877 访问时间 2023/3/25.
我:如何保证在线考试系统的安全性?
在线考试系统的安全性是非常重要的,需要从多个方面进行保障。首先,需要确保系统本身的稳定性和抗攻击能力,以避免系统崩溃或者被攻击导致考试数据丢失或泄露①。其次,需要采取加密和数据备份的方式,以保证用户的信息和考试资料不会泄露或丢失①②。此外,还需要采用一些防作弊技术,如基于单机摄像头的在线考试监控方案,能检测到找人替考等一些常规作弊行为③。
源: 与必应的对话, 2023/3/25
(1) 在线考试系统解决方案 - 知乎. https://zhuanlan.zhihu.com/p/45623578 访问时间 2023/3/25.
(2) 在线考试系统的安全性研究_百度文库. https://wenku.baidu.com/view/124adea8e63a580216fc700abb68a98271feacd0.html 访问时间 2023/3/25.
(3) 基于B/S架构的在线考试系统的设计与实现 - quanbisen - 博客园. https://www.cnblogs.com/quanbisen/p/11520515.html 访问时间 2023/3/25.
(4) 国内外常用的几款在线考试系统介绍 - 知乎. https://zhuanlan.zhihu.com/p/349416160 访问时间 2023/3/25.
(5) 在线考试系统的安全性研究--《北方工业大学》2016年硕士论文. https://cdmd.cnki.com.cn/Article/CDMD-10009-1016184949.htm 访问时间 2023/3/25.
我:有哪些在线考试系统可以使用?
目前有很多在线考试系统可以使用,其中一些是开源的,如知乎上提到的在线考试系统 ExamOnline①。此外,还有一些商业化的在线考试系统,如易考②和考试云在线考试系统③等。这些系统都有各自的特点和优势,你可以根据自己的需求进行选择。
源: 与必应的对话, 2023/3/25
(1) 都有哪些开源的在线考试系统? - 知乎. https://www.zhihu.com/question/20594135 访问时间 2023/3/25.
(2) 易考-每个人都可以使用的专业在线考试系统. https://eztest.org/home/entry/ 访问时间 2023/3/25.
(3) 有没有在线考试系统推荐? - 知乎. https://www.zhihu.com/question/460630670 访问时间 2023/3/25.
要实现在线考试系统并监控计算机资源,您可以遵循以下步骤:
设计并开发一个基于Spring Boot的在线考试系统,该系统应包括登录、注册、考试、成绩等基本功能。
编写监控程序来监视进程资源,可以使用Java的ManagementFactory和OperatingSystemMXBean类来实现。
开发一个白名单功能,确定允许运行的进程。您可以通过以下方法确定白名单:
a. 确定哪些进程是必要的,例如操作系统、杀毒软件等。
b. 根据您的在线考试系统的需求,确定其他进程是否必要,如果不是,则将其加入白名单。
c. 对于其他进程,您可以根据其名称、路径、MD5哈希值等信息来确定其是否安全。可以使用在线病毒扫描服务来检测进程是否安全。
在监控程序中实现白名单检查功能,如果新进程不在白名单中,则触发警报。可以使用Java的Runtime和ProcessBuilder类来启动和停止进程。
在线考试系统和监控程序之间进行集成,确保监控程序始终在运行状态,并在需要时触发警报。
总的来说,实现监控计算机资源的在线考试系统需要深入了解Java编程和系统管理方面的知识。如果您对其中某些方面不熟悉,可以寻求专业人士的帮助。
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
实现在线考试系统监控计算机资源可以分为以下几个步骤:
示例代码:
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
double cpuLoad = operatingSystemMXBean.getSystemLoadAverage();
long freePhysicalMemory = operatingSystemMXBean.getFreePhysicalMemorySize();
long totalPhysicalMemory = operatingSystemMXBean.getTotalPhysicalMemorySize();
int threadCount = ManagementFactory.getThreadMXBean().getThreadCount();
示例代码:
Properties properties = new Properties();
InputStream inputStream = getClass().getResourceAsStream("/white_list.properties");
properties.load(inputStream);
String[] whiteList = properties.getProperty("process.list").split(",");
List<String> processList = new ArrayList<>();
Process process = Runtime.getRuntime().exec(System.getenv("windir") + "/system32/" + "tasklist.exe");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
processList.add(line.split("\\s+")[0]);
}
for (String processName : processList) {
if (!Arrays.asList(whiteList).contains(processName)) {
System.out.println("警报:非法进程执行 - " + processName);
}
}
以上就是一个简单的在线考试系统监控计算机资源的实现思路及代码示例。具体实现过程还需根据实际需求进行调整和完善。
如果我的回答解决了您的问题,请采纳!