Java网络编程中缺乏对于链路层的访问和控制,感觉不是很满意。听说有JPcap
是支持链路层的访问控制的,于是想试用一下。
但是一直看到的介绍都是说JPcap
是依赖于winpcap
的,只能在windows下运行,但是找到其在github
上的项目说明之后,发现应该是一个跨平台的程序库的。对于本人这个常年在Linux下开发的人来说,不能在Linux下使用的程序库,就是无法使用的程序库了。因此今天试着在Linux下安装了JPcap
。过程还是很顺利的。
下载源文件
使用命令:
git clone --recursive https://github.com/mgodave/Jpcap.git
将源文件都保存在了Jpcap的文件夹里。
编译
在目录Jpcap/src/main/c
中,执行:
make
注:应该确保安装有build-essential
和libpcap
包,由于这些包一般都已经有了,所以没有列在过程中。
将生成的libjpcap.so
拷贝到目录:$JAVA_HOME/jre/lib/<arch>
目录中。其中,arch对应的是计算机架构,如i386
、sparc
、amd64
等等。而$JAVA_HOME
对于Debian系列的Linux,一般指/usr/lib/jvm/default-java
目录。
也可以将这个文件拷贝到应用程序的目录下。
如果使用的是JAVA 6的话,将这个文件拷贝到/usr/java/packages/lib/exf
中。
添加CLASSPATH
将/Jpcap/lib/jpcap.jar
拷贝到$JAVA_HOME/lib/
目录下,并将其添加到CLASSPATH中。
OK,如果一切顺利的话,现在应该可以编译、运行源文件中的sample啦。祝各位安装顺利。