私はNetworkInterface.getNetworkInterfaces()
自分のマシンのネットワークインターフェイスを照会するために使用しています。基本的に、私はネットワークインターフェイスカードを見つけようとしています。これらは通常、eth0、eth1などと呼ばれます。
それは、win xpや、わずかなフィルタリングを備えたビスタでもうまく機能しています。
Windows 7の特定の構成で、リストされているネットワークアダプターが多数あることに気づきました。xpやvistaよりもはるかに。カードを1つだけ構成しましたが、3つの異なるネットワークインターフェイスを使用しているようです
- Intel(R)82567LM-3ギガビットネットワーク接続
- Intel(R)82567LM-3ギガビットネットワーク接続-QoSパケットスケジューラ-0000
- Intel(R)82567LM-3ギガビットネットワーク接続-WFP LightWeight Filter-0000
本質的に同じものに対してなぜ3つの異なるポイント。
また、WANMINIPORTと呼ばれるものの6つのエントリがあります。(出力については以下を参照してください)
これらを除外することはできますが、もちろん、多くのがらくたを通過することにはパフォーマンスコストがかかります。これらのエントリが作成される理由とそれらを最小化する方法を誰かが知っていますか?
私のシステムの例として、私はこのようなコードを書きました
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Arrays;
import java.util.Collections;
import java.util.Enumeration;
import static java.lang.System.out;
public class ListNetsEx {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Enumeration<NetworkInterface> nets;
try {
nets = NetworkInterface.getNetworkInterfaces();
for (NetworkInterface netint : Collections.list(nets))
displayInterfaceInformation(netint);
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void displayInterfaceInformation(NetworkInterface netint) throws SocketException {
// TODO Auto-generated method stub
out.printf("Display name: %s\n", netint.getDisplayName());
out.printf("Name: %s\n", netint.getName());
Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
for (InetAddress inetAddress : Collections.list(inetAddresses)) {
out.printf("InetAddress: %s\n", inetAddress);
}
out.printf("Up? %s\n", netint.isUp());
out.printf("Loopback? %s\n", netint.isLoopback());
out.printf("PointToPoint? %s\n", netint.isPointToPoint());
out.printf("Supports multicast? %s\n", netint.supportsMulticast());
out.printf("Virtual? %s\n", netint.isVirtual());
out.printf("Hardware address: %s\n",
Arrays.toString(netint.getHardwareAddress()));
out.printf("MTU: %s\n", netint.getMTU());
out.printf("\n");
}
}
Windows7の出力は
表示名:Software Loopback Interface 1 名前:lo InetAddress:/ 0:0:0:0:0:0:0:1 InetAddress:/ 127.0.0.1 上?true ループバック?true ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:[] MTU:-1 表示名:WANミニポート(SSTP) 名前:net0 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(IKEv2) 名前:net1 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(L2TP) 名前:net2 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(PPTP) 名前:net3 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(PPPOE) 名前:ppp0 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(IPv6) 名前:eth0 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(ネットワークモニター) 名前:eth1 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(IP) 名前:eth2 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:RAS非同期アダプター 名前:ppp1 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:Intel(R)82567LM-3ギガビットネットワーク接続 名前:eth3 InetAddress:/ fe80:0:0:0:b1b1:7531:17b1:bf26%11 InetAddress:/172.24.9.148 上?true ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:[120、43、-53、125、-80、74] MTU:1500 表示名:MicrosoftISATAPアダプター 名前:net4 上?false ループバック?false ポイントからポイントへ?true マルチキャストをサポートしますか?false バーチャル?false ハードウェアアドレス:[0、0、0、0、0、0、0、-32] MTU:1280 表示名:Teredoトンネリング疑似インターフェース 名前:net5 InetAddress:/ fe80:0:0:0:e0:0:0:0%13 上?false ループバック?false ポイントからポイントへ?true マルチキャストをサポートしますか?false バーチャル?false ハードウェアアドレス:[0、0、0、0、0、0、0、-32] MTU:1280 表示名:Microsoft ISATAPアダプター#2 名前:net6 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:Intel(R)82567LM-3ギガビットネットワーク接続-QoSパケットスケジューラ-0000 名前:eth4 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:Intel(R)82567LM-3ギガビットネットワーク接続-WFP LightWeight Filter-0000 名前:eth5 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(ネットワークモニター)-QoSパケットスケジューラ-0000 名前:eth6 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(IP)-QoSパケットスケジューラ-0000 名前:eth7 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1 表示名:WANミニポート(IPv6)-QoSパケットスケジューラ-0000 名前:eth8 上?false ループバック?false ポイントからポイントへ?false マルチキャストをサポートしますか?true バーチャル?false ハードウェアアドレス:null MTU:-1