杀毒
杀毒(Antivirus)是指一类计算机安全软件,旨在检测、阻止和清除计算机系统中的恶意软件,如病毒、蠕虫、木马、间谍软件和广告软件等。这些恶意软件可能会对计算机系统和用户数据造成损害,包括数据丢失、系统崩溃、个人信息泄露等。
杀毒软件通过使用各种技术来保护计算机免受恶意软件的威胁
应用场景
- 杀毒软件编写
- 日常杀毒使用
- 实时保护
- 邮件web扫描
- 服务器杀毒
引擎
clamAV
ClamAV(Clam AntiVirus)是一个开源的跨平台杀毒软件,它专注于检测和清除恶意软件,包括病毒、蠕虫、木马、恶意软件和其他恶意代码。
以下是ClamAV的一些特点和功能:
- 开源和免费:ClamAV是一个自由开源的杀毒软件,可以在各种操作系统上免费使用,包括Windows、macOS和Linux等。
- 多平台支持:ClamAV是跨平台的,可以在多种操作系统上运行,包括Windows、macOS、Linux、FreeBSD等。
- 病毒扫描引擎:ClamAV使用强大的病毒扫描引擎来检测和识别各种恶意软件。它可以扫描文件、文件夹和压缩文件等,以查找潜在的威胁。
- 多种扫描模式:ClamAV提供不同的扫描模式,包括快速扫描、全盘扫描和定制扫描。用户可以根据需要选择适当的扫描模式。
- 实时保护:ClamAV可以提供实时监控和保护功能,可以在文件被访问、下载或执行时即时检测和阻止潜在的恶意软件。
- 病毒定义更新:ClamAV定期发布病毒定义数据库的更新,以保持对新出现的病毒和恶意软件变种的识别能力。用户可以手动或自动更新病毒定义文件。
- 命令行工具和图形界面:ClamAV提供了命令行工具和图形界面,使用户可以方便地执行扫描、更新和配置等操作。
下载安装
https://www.clamav.net/downloads
选择对应的操作系统
windows
- 下载完成之后安装 然后配置环境变量
安装完成之后目录会有一个 conf_examples
文件夹 它自带的
- clamd.conf
- freshclam.conf
把文件夹的内容拷贝到根目录
然后把这两个文件里面的 Example
注释掉
- 更新病毒库
执行这个命令 freshclam
启动 clamd
服务
nodejs 使用
安装 clamscan
npm install clamscan
import NodeClam from 'clamscan'
const clam = new NodeClam().init({
scanRecursively: true, //深度扫毒
clamdscan: {
port: 3310, //连接引擎的端口 端口配置项在这个文件 clamd.conf 默认3310
host: 'localhost', //连接引擎的IP
},
clamscan: {
scanArchives: true, //扫描归档文件
scanFiles: true, //扫描文件
}
})
clam.then((clamscan) => {
//批量扫描文件
clamscan.scanFiles(['./index.js', './package.json','./package-lock.json'], (err, goodfiles, badfiles) => {
if (err) {
console.log(err)
} else {
console.log('扫描完成')
//goodfiles 就是没问题的文件
//badfiles 就是病毒文件
console.log(goodfiles, badfiles)
}
})
//扫描目录
clamscan.scanDir('./', (err, goodfiles, badfiles) => {
if (err) {
console.log(err)
} else {
console.log('扫描完成')
console.log(goodfiles, badfiles)
}
})
//检查是否是病毒文件
clamscan.isInfected('./index.js', (err, result) => {
if (err) {
console.log(err)
} else {
console.log(result)
}
})
})
演示
扫描三个文件
clamscan.scanDir 这个方法windows用不了只能在linux用