jpcap安裝與配置、資料包攔截
一.JPCAP簡介
眾所周知,Java語言雖然在TCP/UDP傳輸方面給予了良好的定義,但對於網路層以下的控制,卻是無能為力的。JPCAP擴充套件包彌補了這一點。
JPCAP實際上並非一個真正去實現對資料鏈路層的控制,而是一箇中介軟體,JPCAP呼叫wincap/libpcap,而給JAVA語言提供一個公共的介面,從而實現了平臺無關性。在官方網站上宣告,JPCAP支援FreeBSD 3.x, Linux RedHat 6.1, Fedora Core 4, Solaris, and Microsoft windows 2000/XP等系統。
使用Jpcap能做的事:
1.Jpcap是直接抓取經過資料鏈路層的資料包。 因此可以自己寫IP資料包直接傳送給資料鏈路層。
2.Jpcap會對抓取到的資料包進行一定程式的解析,根據資料包內容,將資料包封裝為對應的物件()。
3.根據使用者設定的資訊,過濾資料包(其實就是在解析的時候,對不需要的資料直接丟棄,不解析)
4.Jpcap 只是直接從資料鏈路層上讀取資料,並向資料鏈路層中傳送資料,因此,Jpcap並不能操作 其他程式從資料鏈路層中讀資料或者向網路卡中傳送資料。(IP層協議程式)
二.Jpcap和Winpcap下載
Jpcap下載地址:
http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html
Wincap下載地址:
http://www.winpcap.org/archive/,在VC或VS上的配置不再敖述,本文重點介紹JAVA方法。下載後安裝winpcap。
JPCAP還有一個圖形介面的工具JpcapDumper。看起來很不錯:http://netresearch.ics.uci.edu/kfujii/jpcapdumper/doc/index.html
三.Jpcap包的安裝與配置(Eclipse環境下)
1) 下載並安裝JRE(提供的JDK中就預設安裝JRE了,所以不要在下載其他版本的JRE了);
2) 下載並安裝winpcap(儘量下載最新版本);
3) 配置Jpcap路徑:這一步也是最重要的一步。具體路徑為,把Jpcap資料夾下lib資料夾裡的Jpcap.dll複製到"C:\Program Files\Java\jre1.6.0_07\bin"資料夾裡面(複製到你機器JRE資料夾放到bin資料夾裡面就可以了,其中JRE的版本一定要與Eclipse配置的版本一致),再把Jpcap資料夾下lib資料夾裡的Jpcap.jar複製到"C:\Program Files\Java\jre1.6.0_07\lib\ext"資料夾裡面(複製到你機器JRE資料夾->lib->ext放到ext資料夾裡面就可以了),
4) 配置Eclipse的JRE環境,(一定需要),選擇Window->preferences->Java->Installed JREs,在Installed JREs選擇框中選擇相應的JRE版本,點Edit,
選擇Add External JARs…,選擇你的Jpcap.jar包("C:\Program Files\Java\jre1.6.0_07\lib\ext"資料夾裡),在Finish就配置全部完成了;
5) 編寫,除錯,執行程式。
四.可能出現的問題
第一個錯誤:
加進來後,死活提示專案有錯誤,明明一切包都放好了,還是不行。網上找了很多,都不靠譜,有的甚至寫的很深奧。最後把JRE刪掉再重新匯入,就好了。方法:右鍵點你的專案->properties->Java buildpath->remove,然後再匯入。
第二個錯誤:
錯誤提示是“no dependence libray”,這個簡單,90%是你沒裝winpcap。
第三個錯誤:
這是最常見的, java.lang.UnsatisfiedLinkError: no jpcap in java.library.path。解決這個錯誤的辦法說實在的,估計有很多,在這裡我只說我的。
這個錯誤提示是在java的library路徑裡找不到jpcap.dll,於是我System.out.println(System.getProperty("java.library.path"));發現路徑很多,包括system32,於是我把jpcap.dll複製到system32,還是不行。繼續複製到別的路徑,依然不行。我又在run配置里加入-Djava.library.path=C:/WINDOWS/system32,還是不行。就在我一籌莫展時,我發現那JRE包路徑是在“D:/Program Files/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/”,於是順藤摸瓜進去,發現有個jre資料夾,裡面有bin和lib,就又把dll之類的複製過去,這下可以了,順利編譯。根路徑不一定全部相同,自己找一下。
五.API
http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/javadoc/index.html?overview-summary.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23071790/viewspace-712804/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring MVC 中的攔截器的使用“攔截器基本配置” 和 “攔截器高階配置”SpringMVC
- Proxy代理資料攔截方法
- win10軟體安裝被攔截怎麼解決_win10軟體安裝被攔截不讓安裝怎麼辦Win10
- fd攔截請求,修改資料
- Oracl資料庫+PL/SQL安裝與配置資料庫SQL
- 本地windows搭建spark環境,安裝與詳細配置(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)WindowsSparkJDKHadoop
- centos7 (阿里雲、linux) 單機spark的安裝與配置詳解(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)CentOS阿里LinuxSparkJDKHadoop
- Flume內建攔截器與自定義攔截器(程式碼實戰)
- Conda 安裝gdal地理資料包
- 9、Linux下mysql資料庫安裝與配置實操LinuxMySql資料庫
- SpringBoot 2.X配置登入攔截器Spring Boot
- struts的常用配置以及自定義攔截器
- Proxy 攔截
- SpringMVC攔截器,設定不攔截的URLSpringMVC
- rpm包安裝升級與解除安裝
- Springboot通過攔截器攔截請求資訊收集到日誌Spring Boot
- Supervisor安裝與配置
- Nginx安裝與配置Nginx
- 【Redis】安裝與配置Redis
- [Redis] 安裝與配置Redis
- 【MySQL】安裝與配置MySql
- jdk安裝與配置JDK
- MacVim安裝與配置Mac
- 【MongoDB】安裝與配置MongoDB
- Nginx 安裝與配置Nginx
- Spark安裝與配置Spark
- Telnet安裝與配置
- vim安裝與配置
- Rabbitmq安裝與配置MQ
- MySQL安裝與配置MySql
- 【MySQL資料庫】MySQL5.7安裝與配置、視覺化工具安裝和破解MySql資料庫視覺化
- 深入瞭解 Vue 響應式原理(資料攔截)Vue
- MyBatis攔截器優雅實現資料脫敏MyBatis
- 前端架構之vue+axios 前端實現登入攔截(路由攔截、http攔截)前端架構VueiOS路由HTTP
- 攔截器(Interceptor)與過濾器(Filter)過濾器Filter
- TCP標誌位詳解及tcp攔截配置TCP
- 從程式設計攔截器到大腦資訊攔截處理架構程式設計架構
- SpringMVC攔截器SpringMVC
- axios 攔截器iOS