2011-01-18 17 views
9

私はファイルのアップロードが必要なアプリケーションに取り組んでおり、サーバー上で利用可能なウイルス対策ソフトウェアを使ってファイルをスキャンするには が必要です。Javaでアップロードするとウイルス対策ファイルをスキャンする方法は?

シマンテックからアプリケーションサーバー用のabt APISを入手しました。

状況は同じですが、今後別の場所にアプリケーションを展開する必要があります だから、私は利用可能なウイルス対策&のパスを取得しようとしているところから設定ファイル を配置することを考えています。

私はサーバー上で使用可能なウイルス対策ソフトを使用してから、 コマンドラインを使用して、ファイル名と結果を戻したいと思います。

ファイルの受け渡しと結果の取得に混乱します。

可能ですか?私はちょうどGoogleで検索し、興味深い記事を見つけました

+0

一般的にあなたの質問は次のとおりです。「パラメータでコマンドラインを実行し、javaを使用して出力を戻すことは可能ですか?私は正しい? – AlexR

+0

また、VirusTotal.com APIを使用することもできます... – Tobias

+0

多分すべての大文字の単語が余分な注意を引き付けることがありますが、この注意は否定的な態度と結び付くでしょう... – peterh

答えて

7

次のコードを使用します。

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ラインが最適です。問題を解決するためにログファイルを読んでください。 http://virustotal.vighneswarrao.com
でご利用いただけますVIGHNESWAR RAO
によって書かれたJavaで

+0

私は同様のアプローチを使用している.. –

+0

はどのようにllinuxで? – BigDong

5

はJavaでウイルスファイルのスキャンを実装するためにhere

を見て、サードパーティ製のパッケージを使用する必要があります。この記事では、Java APIに付属のSymantec Scan Engine(SSE)パッケージを使用します。このパッケージは、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 
    } 
} 
+0

こんにちはJJ ..ありがとうございます私のポストで言及scanrioとして、 'シマンテック' APIを使用したくない:) –

2

使用VirusTotal公開API V2.0の実装ではファイル、URL、ドメイン、するIPアドレスをスキャンすると、スキャンに関する詳細なレポートを取得するための豊富な機能を備えています。
このAPIを使用すると、ファイルは56のウイルス対策エンジンでスキャンされます。すべてのウイルス対策エンジンはvirustotal cloudで実行されるため、特にウイルス対策エンジンを使用する必要はありません。
このAPIの重要な機能は、引数としてjava.io.FileInputStreamまたはjava.io.Fileを受け入れるメソッドがあることです。
apiのすべての機能は、例とともに明確に説明されています。
は、このAPIを使用する
ステップ1:http://virustotal.vighneswarrao.comを訪問し、ダウンロードしrequied jarファイル
工程 - :
ステップ2(100%無料)APIキーをhttp://virustotal.com(VirusTotal、グーグルの子会社)でアカウントを作成してもらいます3:APIで提供されるメソッドを使用します。
で提供されている例を使用できます。http://virustotal.vighneswarrao.com/examples.html

+1

これは迷惑メールか卵かスパムですか? –

+0

virustotalはGoogleの会社です。 http://virustotal.comにアクセスして詳細な情報を入手してください。これらのすべてを知らなくても、どのようにスパムだと言えますか? – BVR

関連する問題