java 数据链路层_使用JPCAP实现Java中的数据链路层控制要注意什么?

一.JPCAP简介

众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。

JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,而给JAVA语言提供一个公共的接口,从而实现了平台无关性。

在官方网站上声明,JPCAP支持FreeBSD 3。x, Linux RedHat 6。1, Fedora Core 4, Solaris, and Microsoft Windows 2000/XP等系统。

二.JPCAP机制

JPCAP的整个结构大体上跟wincap/libpcap是很相像的,例如NetworkInterface类对应wincap的typedef struct _ADAPTERADAPTER,getDeviceList()对应pcap_findalldevs()等等。

JPCAP有16个类,下面就其中最重要的4个类做说明。

1.NetworkInterface

该类的每一个实例代表一个网络设备,一般就是网卡。这个类只有一些数据成员,除了继承自java。lang。Object的基本方法以外,没有定义其它方法。

数据成员NetworkInterfaceAddress[]java。lang。Stringdatalink_description。数据链路层的描述。描述所在的局域网是什么网。例如,以太网(Ethernet)、无线LAN网(wireless LAN)、令牌环网(token ring)等等。

java。lang。Stringdatalink_name 该网络设备所对应数据链路层的名称。具体来说,例如Ethernet10M、100M、1000M等等。java。lang。Stringdescription网卡是XXXX牌子XXXX型号之类的描述。

例如我的网卡描述:Realtek RTL8169/8110 Family Gigabit Ethernet NIC booleanLoopback标志这个设备是否loopback设备。byte[]mac_address网卡的MAC地址,6个字节。

java。lang。StringName这个设备的名称。例如我的网卡名称:\Device\NPF_{3CE5FDA5-E15D-4F87-B217-255BCB351CD5}。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值