java 网络流量统计_IP数据包的流量统计(JAVA语言)

这篇博客介绍如何使用JAVA的jpcap库来捕获网络上的IP数据包,并进行流量统计。作者通过编写程序,监控网络并在指定时间段内记录IP包的个数,数据以柱状图的形式展示。在实施过程中,作者遇到了Jpcap库的配置问题和Eclipse的访问限制问题,并给出了解决方案。
摘要由CSDN通过智能技术生成

如果不显示图片,或者出现排版错误,抽风,崩坏,节操丢失等一系列不正常情况,请点击下面链接观看,点我

IP数据包的流量统计(JAVA语言)

要求:编制程序,监控网络,捕获一段时间内网络上的IP数据包,按数据包的源地址统计出该源地址在该时间段发出的IP包的个数,将其写入日志文件中或者用图形表示出来.

课程设计,感觉挺有意思的.就想做出来,但自己虽然学过一点JAVA语言但是有些东西并不会,并且对网络协议也不是特别熟悉,但是,这并不妨碍把它做出来,就是这样有些东西至少你想不想去做而已.老罗说:

我并不在乎输赢,我只想证明我认真!

思路

用jpcap捕获到IP数据包,然后写入本地,最后用PHP读取本地文件,将数据做成柱状图.

工具

jdk(我的版本:1.8.0_05)

jpcap(我的版本:0.01.16-win32)

Winpcap(我的版本:4_1_3)

eclipse

操作系统:windows8.1,32位

jpcap和Wincap是环境所需要的,在网上也能下到,这里我放在网盘里:点我下载

环境配置

JDK配置

这个就不多说了,会点JAVA的人都懂的…

JPACAP配置

这个我也是参照网上的教程,查看这个博客的第二个部分eclipse的配置.

值得注意的是,Jpcap.jar文件就是net.sourceforge.jpcap-0.01.16.jar.

问题1:

配置完可能会出现的问题:

PacketCapture: loading native library jpcap.. ok

Exception in thread "main" java.lang.UnsatisfiedLinkError: findDevice

at net.sourceforge.jpcap.capture.PacketCapture.findDevice(Native Method)

at subjectprogram.CapturePacketTest.main(CapturePacketTest.java:57)

解决办法

将Jpcap.dll文件放入jre中,两个都放.也就是JDK下有个jre文件夹,也将这个文件放出对应的目录中,我是这么解决的.

问题2:ECLIPSE中出现-访问限制由于对必需的库XX具有一定限制,因此无法访问类型

解决办法:

也是参考别人的方法,博客地址.

代码部分

配置完所有的环境,没有错误就可以开始写代码了,代码不多,基本上都是用包中的方法:

CapturePacketTest.java

import net.sourceforge.jpcap.capture.*;

import net.sourceforge.jpcap.net.*;

import java.io.IOException;<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值