该类提供了一系列静态方法实现一些基本的功能。该类一个实例代表建立了一个与指
定设备的链接,可以通过该类的实例来控制设备,例如设定网卡模式、设定过滤关键字等
等。
数据成员
int
dropped_packets
抛弃的包的数目。
protected
int
ID
这个数据成员在官方文档中并没有做任何说明,查看 JPCAP 源代码可以发现这个 ID
实际上在其 JNI 的 C 代码部分传进来的,这类本身并没有做出定义,所以是供其内部使
用的。实际上在对 JpcapCator 实例的使用中也没有办法调用此数据成员。
protected
staticboolean[]
instanciatedFlag
同样在官方文档中没有做任何说明,估计其为供内部使用。
protected
staticint
MAX_NUMBER_OF_INSTANCE
同样在官方文档中没有做任何说明,估计其为供内部使用。
int
received_packets
收到的包的数目
方法成员
staticNetworkInterface[]
getDeviceList()
返回一个网络设备列表。
staticJpcapCaptor
openDevice(NetworkInterface
interface
, intsnaplen, booleanpromisc, intto_ms)
创建一个与指定设备的连接并返回该连接。注意,以上两个方法都是静态方法。
Interface:要打开连接的设备的实例;
Snaplen:这个是比较容易搞混的一个参数。其实这个参数不是限制只能捕捉多少数
据包,而是限制每一次收到一个数据包,只提取该数据包中前多少字节;
Promisc:设置是否混杂模式。处于混杂模式将接收所有数据包,若之后又调用了包
过滤函数 setFilter()将不起任何作用;
To_ms:这个参数主要用于 processPacket()方法,指定超时的时间;
void
Close()
关闭调用该方法的设备的连接,相对于 openDivece()打开连接。
JpcapSender
getJpcapSenderInstance()
该返回一个 JpcapSender 实例,JpcapSender 类是专门用于控制设备的发送数据包的功
能的类。
Packet
getPacket()
捕捉并返回一个数据包。这是 JpcapCaptor 实例中四种捕捉包的方法之一。