Jpcap学习笔记1--获取网卡信息

获取网络接口设备[网卡设备]

想要捕捉网络数据包,首先要得到你电脑了的网络接口设备,也就是所谓的网卡设备.Jpcap包向我们提供了这一个类方法[静态方法]:JpcapCaptor.getDeviceList( )  ,从字面见就知道返回的是网络接口设备的列表,NetworkInterface类,网络接口类。其封装了相应网络设口信息,比如:网卡名,网卡描述,网卡所处的数据链路层的名称,描述等等。

简单的应用代码如下:

 /**
 * @(#)GetDevices.java
 * 显示网络接口设备信息的Demo
 * @author>     //循环输出全部网卡设备对象相应的信息
     for (int>     {   //设备号 ,网卡名,网卡描述
         System.out.println(i+": "+devices[i].name + "(" + devices[i].description+")");
         //网卡所处数据链路层的名称与其描述 
         System.out.println(" datalink: "+devices[i].datalink_name + "(" + devices[i].datalink_description+")");
         //网卡MAC地址  
         System.out.print(" MAC address:");
         for (byte b : devices[i].mac_address)//JDK1.5以上版本的for语法的加强变种[循环遍历]
             //转化为十六进制的字串符表示    
          System.out.print(Integer.toHexString(b&0xff) + ":"); 
      System.out.println();  //print out its IP address, subnet mask and broadcast address 
      //输出网卡IP地址 IPV4 IPV6 子网地址 扩播地址 
      for (NetworkInterfaceAddress a : devices[i].addresses)    
        System.out.println(" address:"+a.address + " " + a.subnet + " "+ a.broadcast);}
    }
    
    public static void main(String[] args) {
        ShowNeworkInterfaceDevices();
    }
}

可能的运行结果如下(WindowsXP下):

0: /Device/NPF_GenericDialupAdapter(Adapter for generic dialup and VPN capture)
 datalink: EN10MB(Ethernet)
 MAC address:0:0:0:0:0:0:
1: /Device/NPF_{B7CE211D-CEA5-4010-9A39-B833BBEC772D}(Realtek RTL8139/810x Family Fast Ethernet NIC                                    (Microsoft's Packet Scheduler) )
 datalink: EN10MB(Ethernet)
 MAC address:0:e0:4c:87:a0:5a:
 address:/192.168.1.102 /255.255.255.0 /255.255.255.255

注意:0号网卡是一个操作系统的虚拟网卡(有时在上面代码前有图形界面代码如JFrame 之类的代码)可能0号网卡得不到,我的实验结果是这样的在2000下不管怎样都可以得到0与网卡,XP下有图形代码的影响就得不到了。


转自 http://blog.csdn.net/scholar_ii/article/details/1941600  谢谢原博主 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值