作者kangta198109 (北极星愿N)
看板java
标题[问题] 抓取MAC
时间Fri Sep 29 15:47:45 2006
请问一下有没有人知道如何利用程式
抓取gateway或是device的MAC位址
下列程式是我找到的,可是还是抓不到
请高手帮我解答!!感谢大家
范例
//initialize Jpcap
NetworkInterface
device=JpcapCaptor.getDeviceList()[Integer.parseInt(args[0])];
JpcapCaptor captor=JpcapCaptor.openDevice(device,2000,false,5000);
InetAddress thisIP=null;
for(NetworkInterfaceAddress addr:device.addresses)
if(addr.address instanceof Inet4Address){
thisIP=addr.address;
break;
}
//obtain MAC address of the default gateway
InetAddress pingAddr=InetAddress.getByName("www.microsoft.com.tw");
//这行我如果改成InetAddress pingAddr
// =InetAddress.getByName("51.122.80.254");
//也是不行(上下两行都改)
captor.setFilter("tcp and dst host "+pingAddr.getHostAddress(),true);
byte[] gwmac=null;
while(true){
new URL("
http://www.microsoft.com.tw").openStream().close();
//这行改成new URL("
http://51.122.80.254").openStream().close();
Packet ping=captor.getPacket();
if(ping==null){
System.out.println("cannot obtain MAC address of default gateway.");
System.exit(-1);
}else
if(Arrays.equals(((EthernetPacket)ping.datalink).dst_mac,device.mac_address))
continue;
gwmac=((EthernetPacket)ping.datalink).dst_mac;
break;
}
或许是我对这不够了解,希望有人能教我一下要怎麽抓到MAC
感谢大家....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.216.82.46