1

是否可以使用 Java 或 C# 添加虚拟网络接口。我需要为我的计算机设置一组 IP 用于数据挖掘应用程序,但我没有足够的 NIC(我还不想购买更多)。

我需要从应用程序中完全控制虚拟卡(创建、删除、设置 IP,也许重定向流量)。

4

1 回答 1

1

我不确定您对此是否有纯 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 测试结果,它可以查询您机器上的网络接口。

祝你好运。

于 2012-07-11T20:42:43.070 回答