Как сканировать файл с антивирусом при загрузке на Java?

Я работаю над приложением, которое требует загрузки файлов, а также требует для сканирования файла с доступным антивирусом на сервере.

Я слышал, что APIS доступен из Symantec для сервера приложений.

Ситуация похожа, мне нужно развернуть приложение в разных местах в будущем. Итак, я собираюсь поместить файл конфигурации откуда я собираюсь получить доступный антивирус и его путь.

Я хочу использовать любой доступный антивирус на сервере, а затем используя командную строку, я хочу передать имя файла и вернуть результат.

Я запутался в передаче файла и возвращении результатов.

Возможно ли это?

Ответы

Ответ 1

Используйте следующий код.

String[] commands =  new String[5];
                  commands[0] = "cmd";
                  commands[1] = "/c";
                  commands[2] = "C:\\Program Files\\AVG\\AVG10\\avgscanx.exe";
                  commands[3] = "/scan=" + filename;
                  commands[4] = "/report=" + virusoutput;


                 Runtime rt = Runtime.getRuntime();
                 Process proc = rt.exec(commands);

Линия Commnad будет лучшим вариантом для вас. затем прочитайте файл журнала, чтобы решить проблему.

Ответ 2

Я просто искал google и нашел интересную статью, посмотрев здесь

Чтобы реализовать сканирование файлов вирусов в Java, необходимо использовать сторонний пакет. Для целей этой статьи я буду использовать пакет Symantec Scan Engine (SSE), который поставляется с API Java. Этот пакет представляет собой приложение, которое служит в качестве сервера TCP/IP и имеет интерфейс программирования и позволяет приложениям Java включать поддержку технологий сканирования контента. В этой статье я использовал Symantec Scan Engine 5.1, который доступен как Unix или Windows.

краткая ссылка:

public void scanFile(byte[] fileBytes, String fileName)
   throws IOException, Exception {

   if (scan) {
      AVClient avc = new AVClient(avServer, avPort, avMode);
      if (avc.scanfile(fileName, fileBytes) == -1) {
         throw new VirusException("WARNING: A virus was detected in
            your attachment: " + fileName + "<br>Please scan
            your system with the latest antivirus software with
            updated virus definitions and try again.");
      }
   }
}

то

catch (Exception ex) {
   logger.error(ex);
   if (ex instanceof VirusException) {
      // do something here
   }
   else {
      // there was some other error – handle it
   }
}

Ответ 3

Используйте реализацию VirusTotal Public API V2.0 в Java и Go, написанную ВИГНЕСВАР РАО
доступно на https://code.vighnesh.org/virustotal
онимеет богатые возможности для сканирования файлов, URL-адресов, доменов, IP-адресов и получения подробного отчета о сканировании.
с помощью этого API ваши файлы будут сканироваться с помощью 56 антивирусных ядер. и все антивирусные ядра работают в virustotal облаке, поэтому вам не нужно поддерживать или запускать какие-либо антивирусные ядра.
Важной особенностью этого API является то, что он имеет методы для приема java.io.FileInputStream или java.io.File в качестве аргументов.
Все функции API четко объяснены на примерах.
использовать этот API
Шаг 1: создайте учетную запись в http://virustotal.com (VirusTotal, дочерняя компания Google) и получите ключ API
Шаг 2: посетите https://code.vighnesh.org/virustotal и загрузите необходимые файлы jar
Шаг 3: просто используйте методы, предоставляемые API.
Вы можете использовать примеры, представленные на
Java: https://code.vighnesh.org/virustotal/Java/examples.html
Идти : https://code.vighnesh.org/virustotal/Go/examples.html