jpcap网络流量监控.pdf

jpcap网络流量监控.pdf

ID:52237517

大小:634.26 KB

页数:28页

时间:2020-03-25

jpcap网络流量监控.pdf_第1页
jpcap网络流量监控.pdf_第2页
jpcap网络流量监控.pdf_第3页
jpcap网络流量监控.pdf_第4页
jpcap网络流量监控.pdf_第5页
资源描述:

《jpcap网络流量监控.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络流量监控组长:李天翼组员:网络流量监控:主要实现了在局域网中,使用路由器上网,能够把整个局域网的计算机的据包,截获然后转发,根据截获的数据包,来进行流量的监控。进一步能够实现对流量的控制。在java程序中要实现数据包截获,转发等操作必须了解一下JPCAP。JPCAP:1.Jpcap类库介绍1.1Jpcap的使用Jpcap是2003年日本开发的一套能够捕获、发送网络数据包的java类库。因为核心JavaAPI不能访问底层的网络数据,但Jpcap是一种提供在Windows或UNIX系统上进行这种访问的JavaAPI。Jpcap不是一种纯粹的

2、Java解决方案,它依赖本地库的使用。在Windows或UNIX上,你必须有必要的第三方库,分别是WinPcap或libpcap。要在java中使用Jpcap类库需要安装Jpcap的运行和开发环境。1.2Jpcap介绍Jpcap类库的基本结构如下图:JpcapHandlerDatalinkPacketPacketIPAddressEthemetPacketARPPacketIPPacketIPv6OptionJpcapICMPPacketTCPPacketUDPPacketJpcapWriterJpcapSenderJpcap类库结构1.2

3、.1Packet基类及其子类Packet这个类是所有被捕获的数据包的基类,可以提供被捕获数据包的长度,被捕获数据包的时间标记等基本信息。ARPPacket和IPPacket是继承Packet的子类,它们将被捕获包分成两类。ARPPacket按照ARP数据报的内容,将其各数据段的数据取出。IPPacket则被分得更细。这两个类主要与是与数据链路层密切相关的,其与MAC地址相关的信息在EthemetPacket类中表示出来。EthemetPacket是从DatalinkPacket继承而来的。IPPacket下有三个子类,分别是ICMPPack

4、et、TCPPacket、UDPPacket。这三个类分别表示的是被存储在IP数据报的报文中发送的ICMP、TCP、UDP报文。1.2.2Jpcap的主要功能Jpcap提供了十分方便的数据包捕获方法。Jpcap使用一个事件模型来处理包。首先,必须创建一个执行接口jpcap.JpcapHandler的类。publicclassJpcaphandlerimplementsJpcapHandler{publicvoidhandlePacket(Packetpacket){System.out.println(packet);}}为了捕获包,需要让

5、Jpcap知道要用哪个网络设备来监听。API提供了jpcap.Jpcap.getDeviceList()方法以满足这一目的。这个方法返回一列字符串,可以按一下方法如下使用它:String[]devices=Jpcap.getDeviceList();一旦有了一个设备名称的目录,只要从其中选取一个用来监听:StringdeviceName=devices[0];选择一个设备之后,通过Jpcap.openDevice()方法打开它。openDevice()方法需要四个参数:即将打开的设备名,从设备上一次读取的最大字节数,说明是否将设备设为混杂模

6、式的Boolean值,和以后调用processPacket()方法要使用到的超时值。Jpcapjpcap=Jpcap.openDevice(deviceName,1024,false,10000);openDevice()方法将一个参数返回到用以捕获的Jpcap对象。既然有了Jpcap实例,你可以调用processPacket()或loopPacket()开始监听了。这两种方式都带有两个参数:捕获的最大包数可以是-1(说明没有限制);执行JpcapHandler的一个类的实例。如果你调用processPacket(),那么Jpcap将一直捕

7、获包,直到超过openDevice中规定的时限或达到了规定的最大包数。loopPacket()则将一直捕获包,直到达到最大包数,如果没有最大数限制,它将永远运行下去。就像下面这样调用:jpcap.loopPacket(-1,newJpcaphandler());对于捕获的数据包,可以利用Jpcap中的Packet及其子类进行分类分析,获得数据包的详细信息。Jpcap还有进行数据包过滤的函数setFilter(java.lang.Stringcondition,booleanoptimize)。其中condition是过滤条件。在进行数据包捕

8、获前设置过滤条件,可以将不感兴趣的数据包剔除。jpcap.setFilter("host210.212.147.149",true);因为Jpcap对数据包进行了分类,而数据包中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。