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啦。祝各位安裝順利。