1

Ubuntu VM (VirtualBox) 内の docker コンテナーで実行する ClamAv をセットアップしました。次の C# プログラム (Windows ホストから実行) を作成し、ホスト Windows から 192.168.0.103:3310 (ゲスト Ububtu の ClamAv) にアクセスできるため、Windows マシンのローカル ファイルを正常にスキャンできます (SendAndScanFileAsync)。

ScanFileOnServerAsync メソッドを使用して Linux サーバーのダウンロード フォルダーにあるファイルをスキャンしたいのですが、次のコードで 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() に失敗しました: そのようなファイルまたはディレクトリはありません。エラー」

4

1 に答える 1