最近需要进行一个简单的抓包功能的实现,由于是在原有程序中添加的该功能,原有程序是采用java实现的,所以就开始考虑java实现抓包实现。

起初的想法是查找java类库中是否实现了相关内容,不过根据我的了解应该不会有,经过一番查找也证实了我的想法。

那么接下来的思路是通过java的native,然后自己在用c编写抓包,java用native进行调用,不过后来想了想我其实只要的是很简单的抓包分析,没必要自己这么麻烦的从头写;我觉得应该是有开源的包来做这个事情了icon_biggrin.gif

接下来进行查找,嘿嘿,果不出所料,找到了jpcap,
下载地址http://netresearch.ics.uci.edu/kfujii/jpcap/doc/index.html
jpcap的实现其实跟我一开始想法是相同的,也是通过本地调用来实现的,本身的代码很少,jpcap是在Winpcap的基础上再次进行封装,所以想要使用jpcap需要先安装winpcap,
winpcap网址http://winpcap.polito.it/
安装完winpcap后,从下载的jpcap包中找到jpcap.dll拷贝到你jdk或者jre的bin目录下;然后把jpcap.jar拷贝到jre的lib的ext下,这样就可以使用了

具体的使用在你下载的jpcap包里面有sample,可以参考