2008年1月8日 星期二

Jpcap - 列出系統的網路介面資訊

JpcapCaptor.getDeviceList()可以取得主機上的所有網路介面的資訊,以陣列NetworkInterface[]回傳。藉由這個陣列可以取得網路卡名稱、IP位址等資訊。

NetworkInterface[] interfaces = JpcapCaptor.getDeviceList();

for(int i = 0; i < interfaces.length; i++)
System.out.println(i + ": " + interfaces[i].name + "(" + interfaces[i].description +")");

System.out.println("Datalink: " + interfaces[i].datalink_name + "(" + interfaces[i].datalink_description + ")");
System.out.print("MAC: ");
for(byte b : interfaces[i].mac_address)
System.out.print(Integer.toHexString(b & 0xff) + ":");
System.out.println();
for(NetworkInterfaceAddress addr : interfaces[i].addresses) {
System.out.println("Address: " + addr.address);
}
}
輸出結果如下:
0: eth1(null)
Datalink: EN10MB(Ethernet)
MAC: 0:17:31:25:6f:ed:
Address: /140.120.15.173
Address: /fe80:0:0:0:217:31ff:fe25:6fed
以下略

0 意見: