我已经设置 ClamAv 在 Ubuntu VM (VirtualBox) 内的 docker 容器中运行。我已经编写了以下 C# 程序(从我的 Windows 主机运行)并且能够成功扫描我的 Windows 机器中的本地文件(SendAndScanFileAsync),因为 192.168.0.103:3310(Guest Ububtu 中的 ClamAv)可以从主机 Windows 访问。
我想使用 ScanFileOnServerAsync 方法扫描 Linux 服务器的 Downloads 文件夹中的文件,但我无法这样做,因为我不确定如何在以下代码中指定 Linux 路径。请帮忙。
namespace ClamAvDemo
{
class Program
{
static void Main(string[] args)
{
var clam = new ClamClient("192.168.0.103", 3310);
var scanResult = clam.ScanFileOnServerAsync("Downloads"); // Downloads is a folder in Linux Server running as a VM
switch (scanResult.Result.Result)
{
case ClamScanResults.Clean:
Console.WriteLine("The file is clean!");
break;
case ClamScanResults.VirusDetected:
Console.WriteLine("Virus Found!");
Console.WriteLine("Virus name: {0}", scanResult.Result.InfectedFiles.First().VirusName);
break;
case ClamScanResults.Error:
Console.WriteLine("Woah an error occured! Error: {0}", scanResult.Result.RawResult);
break;
}
}
}
}
要扫描的 Linux 服务器路径:/home/{user}/Downloads
无论我指定的路径格式是什么,我总是会收到此错误 - “下载:lstat() 失败:没有这样的文件或目录。错误”