管道数据从tshark到java程序

时间:2015-01-09 12:03:40

标签: java sql tshark

我使用tshark捕获TCP流量,我想创建从tshark接收数据包的java应用程序并提取一些字段,然后将这些字段直接放在SQL数据库中

在tshark中我使用此命令

    C:\Program Files\Wireshark>tshark -r 111.pcapng -T fields -e frame.number -e ip.
src -e tcp.window_size_value -e frame.time -e data.text -e tcp.analysis.duplicat
e_ack -e tcp.analysis.out_of_order -e tcp.analysis.retransmission -e tcp.analysi
s.fast_retransmission -e tcp.analysis.spurious_retransmission -e tcp.analysis.ze
ro_window -e tcp.stream -E header=y -E separator=, -l | java JavaApplication5

它可以工作并开始将数据传输到JavaApplication5,但在我看来

这里是我在java中使用的代码

    import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


/**
 *
 * @author sheda
 */
public class JavaApplication5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)throws IOException{
        // TODO code application logic here
        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

        String s;
        while ((s=in.readLine())!=null&&s.length()!=0) {            
            System.out.println(s);
        }

        } catch (LinkageError e) {
        }



    }

}

我在运行时使用netbeans给我java.lang.NoClassDefFoundError

为什么?

另一个想法我想直接读取tshark的STDIN和STDOUT并保存我在字符串中读取的内容以供将来处理(比较字符串与预定义的字符串格式并提取信息然后将其直接转发到SQL数据库)

这里有什么帮助吗?

非常感谢

0 个答案:

没有答案