如何使用JpcapCaptor实例来捕捉网络数据包 截获网络数据包

当你通过打开网卡设备得到JpcapCaptor实例后,就可以利用它来捕捉网络数据包了。你可以利用以下两种方法来捕捉网络数据包。第一种是通过回调函数的机制,另一种是利用JpcapCaptor实例的getPacket()的方法,一个数据包一个数据包的接收。第一种是类似与事件触发的机制。

方法一:回调函数机制。

首先,你要自定义一个类,该类必顺实现PacketReceiver接口,(在事件处理机制雷同)。PacketReciver接口只声名了receivePacket(Packetpacket)方法,所以你要在你自义的类中实现该方法,方法体里放置你处理接收到的数据包的代码,得到的数据包为型参packet.

接着,你就可以通过调用JpcapCaptor类的实例的processPacket()或loopPacket()来开始接收数据包。开始接收数据包后,当接收到数据包时就会回调实现PacketReceiver接口的类的receivePacket的方法,使理接收到的数据包。

public int processPacket(int n , PacketRecevierhandler);

参数1 类型int解释:一次接收包的个数(个数到时到产生回调)

参数2 类型PacketRecevier解释:(回调者)事件临听者

返回值:捕捉到的数据包的个数

功能:捕捉自定义个数的网络数据包。与loopPacket()方法不同,当接收超时(这个由前面的openDevice()方法的最后一个接收超时参数所决定)该方法立即返回。同样的在非阻塞模式下是,没有数据所可接收,该方法也立即返回。

publicint loopPacket(int n, PacketRecevier handler):

参数1类型int解释:一次接收包的个数(个数到时到产生回调)

如下为一个简单的demo:

importjpcap.*;
import jpcap.packet.*;

public classGetPacketDemo
{
publicstatic void main(String [] args) throws Exception
{
NetworkInterface[] devices = JpcapCaptor.getDeviceList();
int index =0;
if(devices.length>1)
index = 1;
JpcapCaptor captor = JpcapCaptor.openDevice(devices[index], 65535,false, 20);
captor.loopPacket(-1, newReceiver());
}
如何使用JpcapCaptor实例来捕捉网络数据包 截获网络数据包
}

class Receiverimplements PacketReceiver
{

public voidreceivePacket(Packet packet)
{

System.out.println(packet);
}
}

参数2 类型PacketRecevier解释:(回调者)事件临听者

返回值:捕捉到的数据包的个数

功能:捉自定义个数的网络数据包。与processPacket()方法不同,该方法忽视超时,不支持工作在非阻塞模式。

注意:在这两个方法的第一个参数中,你可以设定其值为-1。这时你可以停的捕捉数据包,直到捕捉结束,或错误发生为止

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/70484.html

更多阅读

如何使用大话3新手卡礼包序列号 大话新手礼包序列号

大话3新手卡礼包序列号如何使用,下面我们来详解一下。首先你得有大话3新手卡礼包序列号,没有的话可以到我空间获取。1.打开大话3,输入帐号密码进入游戏2.选择区,接受条款3.创建角色,进入游戏4.点击无限大礼包如何使用大话3新

如何使用Skype打VPN国外免费电话? 国外免费vpn代理软件

如何使用Skype打VPN国外免费电话?——简介Skype是一款语音及聊天软件,随着微软win8.1系统的正式发布,越来越多的人通过SKYPE来打国外激活系统免费的电话,可是直接使用Skype直接拨打电话是根本不能实现的,因为之前的打电话方法在中国已经

如何使用咖喱粉来做咖喱饭 咖喱饭放多少咖喱粉

如何使用咖喱粉来做咖喱饭——简介咖喱粉是一种粉末状的咖喱,可以直接撒在食材上点缀一下,也可以用来做咖喱汁,我下面就分享一下调制咖喱的方法和过程,希望对各位有所帮助!如何使用咖喱粉来做咖喱饭——食材鸡肉块 150g土豆 1个胡萝卜 1

如何使用飞信打免费电话 飞信打电话免费吗

如何使用飞信打免费电话——简介近日飞信推出了新功能:飞信电话。该功能允许用户给任一飞信好友拨打电话,即便对方手机没有安装飞信,或者手机没有接入数据网络飞信离线的情况下,也能顺利接到飞信拨出的网络电话。可谓是十分的给力,下面笔

声明:《如何使用JpcapCaptor实例来捕捉网络数据包 截获网络数据包》为网友毕加索分享!如侵犯到您的合法权益请联系我们删除