2011-01-18 65 views
9

Estoy trabajando en una aplicación que requiere carga de archivos y también requiere para escanear el archivo con antivirus disponible en el servidor.Cómo escanear un archivo con antivirus al cargarlo en Java?

He escuchado abt APIS disponible de Symantec para el servidor de aplicaciones.

Situatuion es como, tengo que implementar la aplicación en diferentes lugares en el futuro. Por lo tanto, estoy pensando en colocar un archivo de configuración desde donde voy a buscar el antivirus disponible & en su ruta.

Quiero usar cualquier antivirus disponible en el servidor y luego usando la línea de comando, quiero pasar el nombre del archivo y el resultado.

Estoy confundido al pasar el archivo y recuperar los resultados.

¿Es posible?

+0

En general, su pregunta es: "¿es posible ejecutar la línea de comandos con parámetros y obtener la salida de nuevo con java?" ¿Estoy en lo cierto? – AlexR

+0

También podría usar la API VirusTotal.com ... – Tobias

+0

Quizás todas las palabras capitales puedan atraer un poco de atención adicional, pero esta atención se combinará también con la actitud negativa ... – peterh

Respuesta

7

Utilice el siguiente código.

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); 

La línea Commnad sería la mejor opción para usted. luego lea el archivo de registro para resolver el problema.

+0

He usado un tipo de enfoque similar ... –

+0

¿Qué tal en llinux? – BigDong

5

acabo en Google y encontré un artículo interesante echar un vistazo a here

Para llevar a cabo una exploración de virus en archivos Java, un paquete de terceros debe ser utilizado. Para los fines de este artículo, usaré el paquete de Symantec Scan Engine (SSE), que viene con las API de Java. Este paquete es una aplicación que sirve como un servidor TCP/IP y tiene una interfaz de programación que permite que las aplicaciones Java incorporen soporte para las tecnologías de escaneo de contenido. Para este artículo, utilicé Symantec Scan Engine 5.1, que está disponible como instalación de Unix o Windows.

referencia rápida:

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."); 
     } 
    } 
} 

continuación

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

Hola JJ ... gracias por ello, pero yo No quiero usar la API de Symantec según el scanrio mencionado en mi publicación :) –

2

uso de VirusTotal API pública V2.0 aplicación en Java escrito por VIGHNESWAR RAO
disponible en http://virustotal.vighneswarrao.com
que tiene características ricas para escanear archivos, URLs, dominios IP address y para obtener informe detallado acerca de exploración.
con esta API, sus archivos serán escaneados con 56 motores antivirus. y todos los motores antivirus se ejecutan en una nube virustotal, por lo que no es necesario maitain ni ejecutar ningún motor antivirus.
característica importante de esta API es que tiene métodos para aceptar java.io.FileInputStream o java.io.File como argumentos.
Todas las funciones de API se explican claramente con ejemplos.
a utilizar esta API
paso 1: Entrar en http://virustotal.com (VirusTotal, una subsidiaria de Google) y obtener la clave de API (100% libres)
Paso-2: archivos jar requied visitar http://virustotal.vighneswarrao.com y descarga
paso- 3: simplemente use los métodos provistos por API.
puede utilizar ejemplos proporcionados en http://virustotal.vighneswarrao.com/examples.html

+1

¿Es esto spam y huevos o simplemente spam? –

+0

virustotal es una empresa de google. visita http://virustotal.com para obtener información detallada sin saber todo esto, ¿cómo puedes decir que es spam? – BVR

Cuestiones relacionadas