Jpcap相关的 不知道为什么没有抓取到其他人的数据报
Mkyc 2013-11-14 11:33:32 import jpcap.JpcapCaptor;
import jpcap.NetworkInterface;
import jpcap.packet.DatalinkPacket;
import jpcap.packet.Packet;
import jpcap.packet.TCPPacket;
public class net {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final NetworkInterface[] devices = JpcapCaptor.getDeviceList();// 获取本机上的网络接口对象数组
for (int i = 0; i < devices.length; i++) {
System.out.println("第" + i + "个网卡:" );
System.out.print(" ");
System.out.println("网卡名称:"+devices[i].name);
System.out.print(" ");
System.out.print("网卡MAC地址:");
for (byte b : devices[i].mac_address)
System.out.print(Integer.toHexString(b&0xff) + ":"); //java是高字节开头 就是高字节存放在低地址 所以一开始拿的字节就是mac地址的高位
//与0xff&是将高24位清0
System.out.println();
}
int index=3; //手动设置
Packet pt=null;
try{
JpcapCaptor captor=JpcapCaptor.openDevice (devices[index], 65535, false, 20); //通过网卡,打开一个捕捉器
while(true)
{
pt=captor.getPacket();
if(pt!=null)
{
DatalinkPacket po=pt.datalink;
System.out.println(po);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
这是我的代码 我想问下为什么我已经设置成false了 也就是混杂模式 但是为什么提取到的mac地址只有在我和我家无线路由器的值 我家其他的mac为什么没有提取到 换个说法就是为什么没有监听到其他数据报