Как сканировать файл с антивирусом при загрузке на 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