ITPub博客

首页 > Linux操作系统 > Linux操作系统 > jpcap安装与配置、数据包拦截

jpcap安装与配置、数据包拦截

原创 Linux操作系统 作者:atlantisholic 时间:2011-12-06 15:16:49 0 删除 编辑

一.JPCAP简介

  众所周知,Java语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。

     JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,而给JAVA语言提供一个公共的接口,从而实现了平台无关性。在官方网站上声明,JPCAP支持FreeBSD 3.x, Linux RedHat 6.1, Fedora Core 4, Solaris, and Microsoft windows 2000/XP等系统。

     使用Jpcap能做的事:

1.Jpcap是直接抓取经过数据链路层的数据包。 因此可以自己写IP数据包直接发送给数据链路层。

2.Jpcap会对抓取到的数据包进行一定程序的解析,根据数据包内容,将数据包封装为对应的对象()。

3.根据用户设定的信息,过滤数据包(其实就是在解析的时候,对不需要的数据直接丢弃,不解析)

4.Jpcap 只是直接从数据链路层上读取数据,并向数据链路层中发送数据,因此,Jpcap并不能操作 其他程序从数据链路层中读数据或者向网卡中发送数据。(IP层协议程序)

二.JpcapWinpcap下载

    Jpcap下载地址:

    http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html

    Wincap下载地址:

    http://www.winpcap.org/archive/,在VCVS上的配置不再敖述,本文重点介绍JAVA方法。下载后安装winpcap

    JPCAP还有一个图形界面的工具JpcapDumper。看起来很不错:http://netresearch.ics.uci.edu/kfujii/jpcapdumper/doc/index.html

三.Jpcap包的安装与配置(Eclipse环境下)
       1)
下载并安装JRE(提供的JDK中就默认安装JRE了,所以不要在下载其他版本的JRE了);
       2)
下载并安装winpcap(尽量下载最新版本);
       3)
配置Jpcap路径:这一步也是最重要的一步。具体路径为,把Jpcap文件夹下lib文件夹里的Jpcap.dll复制到"C:\Program Files\Java\jre1.6.0_07\bin"文件夹里面(复制到你机器JRE文件夹放到bin文件夹里面就可以了,其中JRE的版本一定要与Eclipse配置的版本一致),再把Jpcap文件夹下lib文件夹里的Jpcap.jar复制到"C:\Program Files\Java\jre1.6.0_07\lib\ext"文件夹里面(复制到你机器JRE文件夹->lib->ext放到ext文件夹里面就可以了),
       4) 配置EclipseJRE环境,(一定需要),选择Window->preferences->Java->Installed JREs,Installed JREs选择框中选择相应的JRE版本,点Edit

选择Add External JARs…,选择你的Jpcap.jar包("C:\Program Files\Java\jre1.6.0_07\lib\ext"文件夹里),在Finish就配置全部完成了;

 5) 编写,调试,运行程序。

四.可能出现的问题

第一个错误:

    加进来后,死活提示项目有错误,明明一切包都放好了,还是不行。网上找了很多,都不靠谱,有的甚至写的很深奥。最后把JRE删掉再重新导入,就好了。方法:右键点你的项目->properties->Java buildpath->remove,然后再导入。

第二个错误:

    错误提示是“no dependence libray”,这个简单,90%是你没装winpcap

第三个错误:

    这是最常见的, java.lang.UnsatisfiedLinkError: no jpcap in java.library.path。解决这个错误的办法说实在的,估计有很多,在这里我只说我的。

    这个错误提示是在javalibrary路径里找不到jpcap.dll,于是我System.out.println(System.getProperty("java.library.path"));发现路径很多,包括system32,于是我把jpcap.dll复制到system32,还是不行。继续复制到别的路径,依然不行。我又在run配置里加入-Djava.library.path=C:/WINDOWS/system32,还是不行。就在我一筹莫展时,我发现那JRE包路径是在“D:/Program Files/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/”,于是顺藤摸瓜进去,发现有个jre文件夹,里面有binlib,就又把dll之类的复制过去,这下可以了,顺利编译。根路径不一定全部相同,自己找一下。

.API

    http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/javadoc/index.html?overview-summary.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23071790/viewspace-712804/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-08-30

  • 博文量
    130
  • 访问量
    624951