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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM