JNetPcap安装及使用

啥是JNetPcap?

JNetPcap是由Sly Technologies开发的开源DPI(Deep Packet Inspection)SDK。

Java平台底层不支持底层网络操作,需要通过JNI封装不同系统提供的C库提供Java访问方法。JnetPcap主要有下面四个特点:

  1. 提供几乎所有libpcap类的封装
  2. 实时解码抓取到的数据包
  3. 提供多种类的网络协议解析库
  4. 通过使用SDK用户可以轻松的扩展网络协议
  5. 通过native和Java实现,来优化解码过程

JnetPcap安装

JnetPcap的安装其实也比较简单,也就是3步走的政策。关键有时候会搞不清楚,容易拉掉某些步骤。因此,我将这些步骤整理如下:

  1. 安装依赖

在第一部分对JNetPcap的介绍中已经提过了,JNetPcap几乎提供libpcap的所有封装,所以他肯定要依赖于libpcap的啦,通过一下命令在你的机器上安装libpcap。

yum install -y libpcap libpcap-devel
  1. 引入jar包

引入jar包就是直接将jar包引入到你的项目中就可以了。

  1. 设定library

个人感觉这一步还是比较坑爹的,因为当你运行一个普通的java程序和运行一个hadoop MapReduce程序时,library的文件目录可能会有所不同。

你可以通过以下方法,查看当前java程序的library目录地址。

public class Main {
    
    public static void main() {
        // 输出当前程序的library目的地址
        System.out.println(System.getProperty("java.library.path"));
    }
}

然后将jnetpcap.so复制到上面输出的library目录中即可。

JNetPcap的相关demo

参见GitHub

参考文档

  1. JNetPcap
posted @ 2017-11-29 20:05  WingPig99  阅读(5286)  评论(0编辑  收藏  举报