啥是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

最新文章

  1. java异常捕获
  2. Object转数组
  3. IONIC 开发的Android应用程序签名(或重新签名)详解
  4. 6/17 Sprint3
  5. Python一点注意
  6. immutability-javascript
  7. 网络编程之ping
  8. HDU 5235 Friends (2015 Multi-University Training Contest 2 搜索+剪枝)
  9. UVA442 栈
  10. CDZSC_2015寒假新人(1)——基础 d
  11. SecureCRT学习之道:用SecureCRT来上传和下载数据
  12. SMO 的环境
  13. C++ 头文件系列(sstream)
  14. mysql for linux6.8单机版安装
  15. MongoDB之 复制集搭建
  16. (笔记)Linux 如何查看线程数最佳解决方案
  17. text/html和text/plain的区别
  18. 大数据应用之HBase数据插入性能优化之多线程并行插入测试案例
  19. 在jsp里面不要瞎用<!-- -->注释
  20. PyQt4单选框QCheckBox

热门文章

  1. SpringBoot: 1.创建第一个SpringBoot项目(转)
  2. 机器学习笔记——模型调参利器 GridSearchCV(网格搜索)参数的说明
  3. C语言递归之求根到叶节点数字之和
  4. POJ1988 Cube Stacking 【并查集】
  5. kafka原理和操作
  6. 2017Nowcoder Girl初赛重现赛 D(二进制枚举
  7. C# 添加log4net日志
  8. squoosh
  9. centos中mariadb的相关操作
  10. golang(8):channel读写 & goroutine 通信