java - 通过命令行与 iptables 交互

标签 java linux command-line iptables

我正在尝试创建一个作为 iptables 前端的 Java 程序。为此,我使用 Java 的 Process 类并传递命令。

我想知道我是否总体上正确地处理了它。例如,这里有一系列命令将 iptables 重置为其默认设置,这些命令旨在按顺序在终端中执行。我在这里正确使用了 Process 类吗?

Process proc1 = Runtime.getRuntime().exec("iptables -P INPUT ACCEPT");
proc1.waitFor();
Process proc2 = Runtime.getRuntime().exec("iptables -P FORWARD ACCEPT");
proc2.waitFor();
Process proc3 = Runtime.getRuntime().exec("iptables -P OUTPUT ACCEPT");
proc3.waitFor();
Process proc4 = Runtime.getRuntime().exec("iptables -t nat -P PREROUTING ACCEPT");
proc4.waitFor();

感谢任何指导!

最佳答案

我认为您需要阅读输出流。否则该进程可能会阻塞,您将永远看不到它说的任何内容。

关于java - 通过命令行与 iptables 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4116169/

相关文章:

java - 如何删除 Spring Boot 中属性文件中的重复项?

java - 创建通用哈希表时出错

linux - 如何查找当前登录终端的IP?

java - 使用linux脚本,如何在java源文件中添加或替换package语句

windows - 批处理文件中括号不平衡和缺少运算符

linux - 为什么这个 bash 脚本需要我按回车键才能继续?

java - 如何在云端部署Java桌面Swing应用程序?

java - 带有数字和下一个、上一个的 Jpa 分页

python - Anaconda:禁用提示更改

android - 全新安装 Eclipse,R 无法解析为变量