• 病毒查杀 clamav —— 资料合集 & windows上安装 & .net项目中引入


    ClamAV病毒查杀 - 简书 (jianshu.com)

    clamav源码分析(clamav病毒库停止更新) - 科猫网 (kemaowang.org.cn)

    clamav完整查杀linux病毒实战(转) - 水·域 - 博客园 (cnblogs.com)  —— 高质量

    Linux 环境下防毒软件 ClamAV,yyds!!! - 掘金 (juejin.cn)

    (157条消息) ClamAV安装使用详解_trygiser的博客-CSDN博客_clamav

    Linux病毒扫描工具ClamAV(Clam AntiVirus)安装使用 - 知乎 (zhihu.com)

    ClamAV - Ubuntu中文

    官网地址:

    www.clamav.net 

    源码包下载地址:

    www.clamav.net/downloads 

    官网文档手册地址:

    www.clamav.net/documents/c…

    官网介绍地址:

    www.clamav.net/documents/i…

    nClam: A .NET library to virus scan | Architect Ryan —— .net 针对文件上传 =》 上传文件 进行病毒扫描
     
     
     

    The full list of packages includes:

    • clamav - command-line interface
    • clamav-base - base package
    • clamav-daemon - scanner daemon
    • clamav-docs - documentation
    • clamav-freshclam - virus database update utility
    • clamav-milter - sendmail integration
    • clamav-testfiles - test files
    • libclamav-dev - development files
    • libclamav9 - library
    • libclamunrar9 - unrar support

    nClam: A .NET library to virus scan | Architect Ryan

    下面是一个非常常见的场景:您有一个 ASP.NET 网站(WebForms 或 MVC)。它具有接受用户上传文件的功能。然后,您网站的其他访问者可以将该文件下载到他们的计算机上。

    您可能会问,这种情况有问题吗?好吧,我会说,可能。如果用户将受感染的文件上传到您的网站,您实际上会将该受感染的文件分发给任何其他潜在访问者。这不好。那么,您能做些什么呢?使用病毒扫描程序扫描上传的内容!

    我做了大量的研究,不幸的是发现很少有.NET库允许按需扫描。有一对夫妇的价格为1000美元/年,虽然他们可能具有良好的功能,但对于病毒扫描某些文件上传来说,这似乎非常昂贵。但是,有一个非常出色的开源防病毒引擎,称为ClamAV。看起来过去曾有过一些为.NET制作ClamAV客户端的努力,但是我发现的项目似乎已经很多年了,我找不到任何开箱即用的东西。所以我去上班了。

    我有一个nClam的原型,一个纯粹的ClamAV.NET客户端,在几个小时内就准备好了。从那里,我完善了代码,添加了文档,将其推送到GitHub,并将一个包发布到Nuget

    使用 nClam 非常容易。它有一个先决条件,一个ClamAV服务器。过去,ClamAV很难在Windows上运行,但是该团队在Windows版本上做了很多工作,现在它能够作为Windows服务安装。以下是安装 ClamAV 的一些快速步骤:

    ClamAV在Windows上安装

      • 在此处下载 32 位或 x64 版本的 ClamAV:http://oss.netfarm.it/clamav/
      • 将 ClamAV 二进制文件提取到C:\\clamav
      • 创建一个名为 的空文件夹DBC:\\clamav
        • 从 中的命令提示符处运行(这将下载最新的病毒定义)C:\\clamavfreshclam.exe
        • C:\>cd clamav-x64-0.103.5
          
          C:\clamav-x64-0.103.5>freshclam.exe
          ClamAV update process started at Wed May 25 11:43:08 2022
          WARNING: DNS record is older than 3 hours.
          Trying to retrieve CVD header from https://database.clamav.net/daily.cvd
          Time:    0.5s, ETA:    0.0s [========================>]       512B/512B
          OK
          daily database available for download (remote version: 26551)
          Time:   14.0s, ETA:    0.0s [========================>]   55.95MiB/55.95MiB
          Testing database: 'C:\clamav-x64-0.103.5\db\tmp.e197640bc5\clamav-b078b26615acad4147fcc45703423bb9.tmp-daily.cvd' ...
          Database test passed.
          daily.cvd updated (version: 26551, sigs: 1984562, f-level: 90, builder: raynman)
          Trying to retrieve CVD header from https://database.clamav.net/main.cvd
          Time:    0.5s, ETA:    0.0s [========================>]       512B/512B
          OK
          main database available for download (remote version: 62)
          Time:   39.4s, ETA:    0.0s [========================>]  162.58MiB/162.58MiB
          Testing database: 'C:\clamav-x64-0.103.5\db\tmp.e197640bc5\clamav-26fe538478ebe6f79b8a994cdc871f18.tmp-main.cvd' ...
          Database test passed.
          main.cvd updated (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
          Trying to retrieve CVD header from https://database.clamav.net/bytecode.cvd
          Time:    0.5s, ETA:    0.0s [========================>]       512B/512B
          OK
          bytecode database available for download (remote version: 333)
          Time:    0.6s, ETA:    0.0s [========================>]  286.79KiB/286.79KiB
          Testing database: 'C:\clamav-x64-0.103.5\db\tmp.e197640bc5\clamav-17259790a5ce603efeb7120f8a0366f4.tmp-bytecode.cvd' ...
          Database test passed.
          bytecode.cvd updated (version: 333, sigs: 92, f-level: 63, builder: awillia2)
          
          C:\clamav-x64-0.103.5>
          
      • 通过运行以下命令安装 ClamAV 服务:clamd --install
        • C:\clamav-x64-0.103.5>clamd --install
          ERROR: Can't open c:\Clamav\clamd.log in append mode (check permissions!).
          ERROR: Can't initialize the internal logger

        • 修改文件名 from clamav-x64-0.103.5  to clamav
      • 通过运行以下命令安装 ClamAV 病毒更新程序服务:freshclam --install
        • C:\clamav>clamd --install
          Unable to Open SCManager (5)

        •  以管理员身份运行 command
        • C:\clamav>freshclam.exe
          ClamAV update process started at Wed May 25 11:49:11 2022
          WARNING: Your ClamAV installation is OUTDATED!
          WARNING: Local version: 0.103.5 Recommended version: 0.103.6
          DON'T PANIC! Read https://docs.clamav.net/manual/Installing.html
          daily.cvd database is up-to-date (version: 26551, sigs: 1984562, f-level: 90, builder: raynman)
          main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
          bytecode.cvd database is up-to-date (version: 333, sigs: 92, f-level: 63, builder: awillia2)
          
          C:\clamav>clamd --install
          Service ClamD successfully created
          
          C:\clamav>freshclam --install
          Service FreshClam successfully created
          
      • 打开Windows服务列表,将“ClamWin免费防病毒扫描程序服务”和“ClamWin免费防病毒数据库更新程序”设置为“启动类型:自动”并启动它们。

      • ClamAV 服务器现已设置完毕!

    ClamAV 运行后,您现在可以使用 nClam 按需扫描代码中的任何内容。使用 nClam 很容易!首先,获取 nuget 包 nClam(或从 github 下载它)并在项目中引用它。从那里,实例化一个 ClamClient 对象,其中包含服务器的位置(此时可能是 localhost)及其正在运行的端口(默认值为 3310),然后调用其中一个 Scan 方法!这些方法返回一个 ClamScanResult 对象,该对象具有一个方便的枚举,可以告诉您扫描是否干净或检测到病毒。下面是一些示例代码:

    var clam = new ClamClient("localhost", 3310);
    var scanResult = clam.ScanFileOnServer("C:\\test.txt");  //any file you would like!
     
    switch (scanResult.Result)
    {
        case ClamScanResults.Clean:
            Console.WriteLine("The file is clean!");
            break;
        case ClamScanResults.VirusDetected:
            Console.WriteLine("Virus Found!");
            Console.WriteLine("Virus name: {0}", scanResult.InfectedFiles.First().VirusName);
            break;
        case ClamScanResults.Error:
            Console.WriteLine("Woah an error occured! Error: {0}", scanResult.RawResult);
            break;
    }

    nClam是免费的,也是开源的。它是在非常开放的Apache 2许可证下发布的。以下是获取 nClam 的一些链接:

  • 相关阅读:
    第三方登录原理
    django-rest-framework之 json web token方式完成用户认证
    HTTP Basic Authentication认证
    python 创建虚拟环境
    scrapy pipeline
    beautifulsoup 安装
    scrapy 安装
    Jmeter 安装
    css中的行高line-height
    html块级元素与行内元素
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/16308716.html
Copyright © 2020-2023  润新知