如何在Java中查找由IP地址建立的TCP连接数?

时间:2016-04-07 13:56:33

标签: java networking tcp ip-address spoofing

我正在尝试实现跳数过滤算法。为了更新HCF表以防止IP欺骗,我需要在IP地址在Java中建立状态的TCP连接时更新计数器。

1 个答案:

答案 0 :(得分:0)

超出netstat -at | grep ESTA,您将获得在您的计算机中建立的所有TCP连接。要在Java中运行此命令,您可以使用Runtime.getRuntime().exec(),如下所示

public class Test {
    public static void main(String args[]) {
        String s;
        Process p;
        try {
            p = Runtime.getRuntime().exec("netstat -at | grep ESTA");
            BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));

            while ((s = br.readLine()) != null){

                // Update here counters if an IP have established a new TCP connection
                System.out.println("line: " + s);
            }

            p.waitFor();
            p.destroy();
        } catch (Exception e) {}
    }
}

希望它有所帮助。