nClam - Как передать путь сервера linux к ScanFileOnServer
Я настроил работу ClamAv в контейнере докеров внутри виртуальной машины Ubuntu (VirtualBox). Я написал следующую программу C# (работающую с моего хоста Windows) и могу успешно сканировать локальные файлы на моем компьютере с Windows (SendAndScanFileAsync), поскольку 192.168.0.103:3310 (ClamAv в гостевом Ububtu) доступен с хоста Windows.
Я хочу просканировать файлы в папке "Загрузки" на сервере Linux с помощью метода ScanFileOnServerAsync, но я не могу этого сделать, так как не знаю, как указать путь 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() не удалось: нет такого файла или каталога. ОШИБКА"
1 ответ
Try to specify the full file path, like "/home/username/Downloads/filename.ext"
.