background image

  该类提供了一系列静态方法实现一些基本的功能。该类一个实例代表建立了一个与指
定设备的链接,可以通过该类的实例来控制设备,例如设定网卡模式、设定过滤关键字等
等。
  数据成员
  

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 实例中四种捕捉包的方法之一。