是否可以使用 Java 或 C# 添加虚拟网络接口。我需要为我的计算机设置一组 IP 用于数据挖掘应用程序,但我没有足够的 NIC(我还不想购买更多)。
我需要从应用程序中完全控制虚拟卡(创建、删除、设置 IP,也许重定向流量)。
是否可以使用 Java 或 C# 添加虚拟网络接口。我需要为我的计算机设置一组 IP 用于数据挖掘应用程序,但我没有足够的 NIC(我还不想购买更多)。
我需要从应用程序中完全控制虚拟卡(创建、删除、设置 IP,也许重定向流量)。
我不确定您对此是否有纯 Java 解决方案。
你有几种选择。
1. 使用可以为您执行此操作的脚本,在 perl\shell 中编写此解决方案将是 4-5 行。
2. 您可以打开与您机器的 ssh 连接并从 Java 运行命令。我有这样的实用程序,它使用 trilead-ssh2。
要使用 Maven 获取它,您可以使用:
<dependency>
<groupId>com.trilead</groupId>
<artifactId>trilead-ssh2</artifactId>
<version>build213-svnkit-1.3-patch</version>
</dependency>
例如,这样你应该打开一个连接:
public static Connection newConnectionWithPassword(String host, String username, String passwd) {
Connection newConn = new Connection(host);
try {
newConn.connect(); // Ignoring ConnectionInfo returned value.
newConn.authenticateWithPassword(username, passwd);
return newConn;
} catch (IOException ioe) {
newConn.close();
ioe.printStackTrace();
return null;
}
}
然后运行你的命令,你可以:
this.session = conn.openSession();
this.session.execCommand(this.cmd);
您现在可以使用操作系统命令从 java 创建虚拟接口。顺便说一句,您可以使用 NetworkInterface.class 测试结果,它可以查询您机器上的网络接口。
祝你好运。