卡巴斯基+NodeJS打造远程杀毒服务器

本文介绍了如何利用卡巴斯基免费版的命令行工具,结合NodeJS构建一个远程杀毒服务器。该服务器接收邮件服务器的文件上传,进行病毒扫描,并返回扫描结果。文章详细阐述了NodeJS服务器的配置、单文件和多文件批量扫描的实现,以及卡巴斯基命令行的其他选项。此外,还提及了Avast和AVG的命令行扫描功能作为对比。
摘要由CSDN通过智能技术生成

很多系统都自带邮件服务器,比如最常见的办公系统。一般邮件服务器都建立在Linux设备上,但是杀毒软件往往很少有支持Linux平台的,即使支持,操作往往也很麻烦或者需要图形界面,而人们一般不会再邮件服务器上特意去装一个图形界面的。所以不妨换个思路,在局域网中再来几台Windows设备,装上杀毒软件专门提供病毒检测服务。邮件服务器把需要检测的文件发送给Windows杀毒服务器进行扫描,获得一个扫描结果后入库。Windows服务器和邮件服务器不共享存储,虽然降低了效率但是安全性保密性得到提高。而且邮件附件不会每天都去扫一遍,发邮件的时候实时扫描就可以了。对于小规模的邮件服务器非常方便,搭建成本极低,也就是买个服务器的成本。要是虚拟化平台可以直接打到零成本部署杀毒服务器。

一、基于卡巴斯基免费版命令行使用说明

测试了国内国外很多杀毒软件,包括收费的和免费的。这里要隆重表扬一下卡巴斯基,在大多数杀毒大厂都设为收费服务的命令行查毒工具卡巴斯基竟然在他的免费版本里提供了。这个命令行查毒工具是邮件服务器的核心,卡巴斯基真乃良心企业。

首先到卡巴斯基官网下载最新的免费版,当然你要下收费版更好。https://www.kaspersky.com.cn/free-antivirus

我下载的版本是kfa18.0.0.405abzh-hans_12797.exe

安装完毕是这个样子的,就是普通的家用版,然而我们现在要把它当成服务器级别的来使用了。

重要的是卡巴斯基安装目录下的命令行杀毒程序,他的位置是C:\Program Files (x86)\Kaspersky Lab\Kaspersky Free 18.0.0\avp.com,几乎所有的Windows电脑都只能安装在这个位置。


然后我们使用命令行尝试一下查杀功能,注意,如果你电脑上卡巴斯基程序没有运行的话,那么执行avp.com会开启卡巴斯基防护服务和图形界面

avp.com SCAN 文件或文件夹路径

注意如果你参数是文件路径那么就只扫描这一个文件,如果填的是文件夹路径那么就会递归搜索这个文件夹下所有的文件,但是不支持通配符,比如*.rar,2017.*这样的文件名。另外还需要注意windows cmd程序不支持路径中间有空格,需要用双引号把路径包起来,下面分别是扫描单个文件和扫描文件夹

可以看出卡巴斯基把文件扫描的具体清单打印了出来,包括扫描的哪个文件,这个文件是不是ok,最下面有一个总扫描文件数,总安全文件数和被发现病毒文件数。在读取报文的时候我们可以先检查总病毒文件数是不是为0,如果不为0再向上寻找是哪个文件没有检测通过。

注意:有些文件虽然只是单个文件,但是卡巴斯基会拆成一块一块的扫描,典型的就是zip,rar等压缩文件,exe安装包,Word Excel等办公文件,如下图只扫描了一个excel文。件但是他扫描了4个,估计把工作簿里每一个sheet都算做一个文件。很多时候word文档能扫描出30多个文件


中文出现乱码是很正常的事,不会影响扫描结果。


1.1 NodeJS服务器调用卡巴斯基过程说明


既然有了这么好用的命令行工具,那么我们找一个中间件,对外提供一个可访问的接口,让其他服务器把要查毒的文件上传上来,然后扫描完把这个报文发送回去,让其他的服务器自己去解析报文各取所需就好了,报文格式就是上面的截图所示案例,一般如下

AV bases release date: 2017-09-15 19:55:00 (full)
; --- Settings ---
; Action on detect:     Ask after scan
; Scan objects: All objects
; Use iChecker: Yes
; Use iSwift:   Yes
; Try disinfect:        Yes
; Try delete:   Yes
; Try delete container: No
; Exclude by mask:      No
; Include by mask:      No
; Objects to scan:
;       "E:\54\"        Enable = Yes    Recursive = Yes
; ------------------
2017-09-16 15:58:01     Scan_Objects$0320         starting   1%
2017-09-16 15:58:01     E:\54\Save003.sav       ok
2017-09-16 15:58:01     Scan_Objects$0320         running    1%
2017-09-16 15:58:01     E:\54\saves.ini ok
2017-09-16 15:58:01     E:\54\Save001.sav       ok
2017-09-16 15:58:01     E:\54\Save002.sav       ok
2017-09-16 15:58:01     Scan_Objects$0320         completed
Info: task 'ods' finished, last error c
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3和Node.js是一对非常强大的组合,可以用于构建现代化的Web应用程序。下面是一个简单的介绍和演示: 1. Vue3是一种流行的JavaScript框架,用于构建用户界面。它具有响应式数据绑定、组件化开发和虚拟DOM等特性,使得开发者可以更轻松地构建交互性强、高效的前端应用程序。 2. Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,可以用于构建高性能的服务器端应用程序。它具有非阻塞I/O和事件驱动的特性,使得开发者可以使用JavaScript语言来编写服务器端代码。 为了演示Vue3和Node.js的使用,你可以按照以下步骤进行操作: 1. 首先,你需要安装Node.js和Vue CLI。Node.js可以从官方网站(https://nodejs.org)下载并安装,Vue CLI可以使用以下命令进行安装: ```shell npm install -g @vue/cli ``` 2. 创建一个新的Vue项目。在命令行中运行以下命令: ```shell vue create my-vue-app ``` 根据提示选择配置选项,然后等待项目创建完成。 3. 进入项目目录并启动开发服务器。在命令行中运行以下命令: ```shell cd my-vue-app npm run serve ``` 这将启动一个本地开发服务器,并在浏览器中打开应用程序。 4. 在Vue项目中创建一个简单的组件。在src目录下创建一个名为HelloWorld.vue的文件,并添加以下代码: ```vue <template> <div> <h1>Hello, Vue3!</h1> </div> </template> <script> export default { name: 'HelloWorld', } </script> <style scoped> h1 { color: red; } </style> ``` 5. 在App.vue中使用HelloWorld组件。打开src/App.vue文件,并将以下代码添加到模板中: ```vue <template> <div id="app"> <HelloWorld /> </div> </template> <script> import HelloWorld from './HelloWorld.vue' export default { name: 'App', components: { HelloWorld } } </script> ``` 6. 启动Node.js服务器。在项目根目录下创建一个名为server.js的文件,并添加以下代码: ```javascript const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello, Node.js!') }) app.listen(port, () => { console.log(`Server is running on http://localhost:${port}`) }) ``` 7. 在Vue应用程序中调用Node.js服务器的API。在HelloWorld.vue组件的脚本部分添加以下代码: ```javascript export default { name: 'HelloWorld', data() { return { message: '' } }, mounted() { fetch('http://localhost:3000') .then(response => response.text()) .then(data => { this.message = data }) } } ``` 现在,你可以在浏览器中查看Vue应用程序,并在页面上看到"Hello, Vue3!"的标题。同时,Vue应用程序还会调用Node.js服务器的API,并将返回的数据显示在页面上。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值