我正在尝试实现跳数过滤算法。为了更新 HCF 表以防止 IP 欺骗,我需要在 Java 中的 IP 地址具有处于已建立状态的 TCP 连接时更新计数器。
最佳答案
执行 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) {}
}
}
希望对您有所帮助。
关于java - Java中如何查找IP地址建立的TCP连接数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36478395/