2016-05-11 52 views
0

tsharkコマンドラインを使用して、wirekark pcapファイルをテキストファイルに変換しようとしています。すべてが正しいように見える。しかし、私は、あなたが「tshark.exe -v」(小文字の「V」)コマンドをしようとした場合、印刷する内容は何も出力し、エラーなしtsharkコマンドラインを使用してwireskark pcapファイルをテキストファイルに変換する

public void convertPcapToTxt() { 
    try { 
    // setting output and input file names 
    String resultfile = "C:\\MY.txt"; 
    String pcapfile = "C:\\MY.pcap"; 
    Runtime rt = Runtime.getRuntime(); 
    // create output 
    PrintStream out = new PrintStream(resultfile); 
    // set command line 
    Process proc = rt.exec("tshark.exe -V -r " + pcapfile); 
    //output to file 
    BufferedReader stdInput = new BufferedReader 
          (new InputStreamReader(proc.getInputStream())); 
    String s = null; 
    while ((s = stdInput.readLine()) != null) { 
     out.println(s); 
    } 
    //close output 
    out.close(); 
    } catch (IOException io) { 
     io.printStackTrace(); 
    } 
} 
+0

を取得していませんか? * that *が何も表示しない場合は、TShark実行可能ファイルが見つからない可能性があります。 –

+0

コマンドラインからこのコマンドを実行すると、「tshark.exe -V -r C:\ MY.pcap」が実行され、tsharkが見つかって画面に表示されます。私は "tshark.exe -V -r C:\ MY.pcap> C:\ MY.txt"でも実行できます。良いテキストファイルを取得します。私はハードにJavaでコーディングしようとしましたが、まだ出力もエラーもありません –

+0

またfyi。私はこの同じコードが動作しているが、pcapをxmlに変換するコマンドがある。それはうまく動作します。 pcapをXMLに変換する –

答えて

0
public void convertPcapToTxt(File file, String pcapfile) { 
    try { 
    PrintStream out = new PrintStream(new FileOutputStream(file)); 
    Runtime rt = Runtime.getRuntime(); 
    String commands = "tshark.exe -V -r \"" + pcapfile + "\""; 
    Process proc = rt.exec(commands); 
    BufferedReader stdInput = new BufferedReader 
          (new InputStreamReader(proc.getInputStream())); 

    String s = null; 
    while ((s = stdInput.readLine()) != null) { 
     out.println(s); 
    } 
    out.close(); 
    } catch (IOException io) { 
    io.printStackTrace(); 
    } 
} 
+0

。 -Vを "-T pdml"に置き換えます。 –

関連する問題