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