2011-01-18 15 views
9

Dosya yükleme gerektiren bir uygulama üzerinde çalışıyorum ve ayrıca dosyayı mevcut antivirüs sunucuda taramak için gerektirir.Java'ya yükleme yaparken antivirüs içeren bir dosya nasıl taranır?

Uygulama sunucusu için Symantec'ten edinilebilen abt APIS'yi duydum.

Situatuion, uygulamayı ileride farklı yerlerde dağıtmam gerekiyor. Yani, mevcut bir Antivirus & yolunu almak için bir yapılandırma dosyası yerleştirmeyi düşünüyorum.

Sunucuda kullanılabilir herhangi bir virüsten koruma kullanmak istiyorum ve daha sonra komut satırını kullanarak dosya adını ve sonucunu vermek istiyorum.

Dosyayı ve geri sonuçları almayla ilgili olarak kafam karıştı.

Mümkün mü? Sadece yukarı googled ve ilginç bir makale buldum

+0

'da verilen örnekleri kullanabilirsiniz. Genel olarak sorunuzu şu soruları yanıtlayabilirsiniz: "Parametrelerle komut satırını çalıştırmak ve çıktıyı java kullanarak geri almak mümkün mü?" Ben haklı mıyım – AlexR

+0

Ayrıca VirusTotal.com API kullanabilirsiniz ... – Tobias

+0

Belki Tüm Sermaye Kelimeler Ekstra Dikkat Biraz Biraz Çekebilir, Ama Bu Dikkat de Negatif Tutum ile Birleştirecektir ... – peterh

cevap

7

aşağıdaki kodu kullanın.

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 satırı sizin için daha iyi bir seçenek olabilir. sonra sorunu çözmek için günlük dosyasını okuyun. java

+0

Ben benzer bir yaklaşım kullandım .. –

+0

llinux hakkında ne dersiniz? – BigDong

5

Java bir virüs dosyası taramayı uygulamak için here

de bakabilirsiniz, bir üçüncü taraf paketi kullanılan gerekmektedir. Bu makalenin amaçları için, Java API'leri ile birlikte gelen Symantec Scan Engine (SSE) paketini kullanacağım. Bu paket, bir TCP/IP sunucusu olarak hizmet veren ve bir programlama arabirimine sahip olan ve Java uygulamalarının içerik tarama teknolojileri için destek oluşturmasını sağlayan bir uygulamadır. Bu makalede, Unix veya Windows yüklemesi olarak kullanılabilen Symantec Scan Engine 5.1'i kullandım.

hızlı başvuru:

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

sonra

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

Merhaba JJ .. bunun için teşekkürler ama ben Benim yazımda belirtilen scanrio göre 'Symantec' API kullanmak istemiyorum :) –

2

Kullanım VirusTotal Kamu API V2.0 uygulaması http://virustotal.vighneswarrao.com
o dosyaları URL'ler, etki alanları, ipaddresses taramak ve tarama hakkında ayrıntılı bir rapor almak için zengin özelliklere sahip en mevcut VIGHNESWAR RAO
tarafından yazılmış. Bu API ile
dosyalarınızı 56 antivirüs motorları ile taranacaktır. ve tüm antivirüs motorları virüslü bulutta çalıştırılır, bu nedenle özel olarak herhangi bir antivirüs motorunu çalıştırmanıza veya çalıştırmanıza gerek yoktur.
Bu api'nin önemli bir özelliği, java.io.FileInputStream veya java.io.File argümanlarını kabul etme yöntemlerine sahiptir.
Tüm api özellikleri örneklerle açık bir şekilde açıklanmıştır.
Bu API kullanmak
adım 1: http://virustotal.vighneswarrao.com ziyaret edip indirmek requied kavanoz dosyaları
üvey:
adım-2 (% 100 ücretsiz) API anahtarını http://virustotal.com (VirusTotal, Google'ın bir yan) içinde hesap oluşturmak ve almak 3: Sadece API tarafından sağlanan yöntemleri kullanın.
http://virustotal.vighneswarrao.com/examples.html

+1

Bu spam ve yumurta mı yoksa sadece spam mı? –

+0

virustotal bir google şirketidir. Tüm bunları bilmeden ayrıntılı bilgi almak için http://virustotal.com adresini ziyaret edin. Spam olduğunu nasıl söylersiniz? – BVR