Jpcap环境安装配置

1. Jpcap 下载地址    http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html

2. WinPcap 下载地址    http://www.winpcap.org/install/default.htm

3. Libpcap 下载地址     http://www.tcpdump.org/

4. Jpcap API 参考网址      http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/javadoc/index.html

Windows 环境安装配置:

1. 运行 JpcapSetup-0.7.exe (目前最新版本) ,一步步next, 注意最后有个提示,告诉你Jpcap.dll 和 jpcap.jar 的安装位置,一般情况下,Jpcap.dll 安装在 C:\Windows\System32 目录下, jpcap.jar 安装在 C:\Windows\Sun\Java\lib\ext 目录下。

2. 将Jpcap.dll 复制到 jre 路径下的 bin 文件夹下, 将 jpcap.jar 复制到 jre路径下的 lib\ext 文件夹下。

Linux 环境下安装配置:

//留空,暂未亲自实验,以后补齐

代码测试:

从网上Copy了一段代码: 

 1 import jpcap.JpcapCaptor;
2 import jpcap.NetworkInterface;
3
4 public class DispalyNetInterface {
5 public static void main(String args[]) {
6 try {
7 // 获取本机上的网络接口对象数组
8 final NetworkInterface[] devices = JpcapCaptor.getDeviceList();
9 for (int i = 0; i < devices.length; i++) {
10 NetworkInterface nc = devices[i];
11 // 一块卡上可能有多个地址:
12 String address = "";
13 for (int t = 0; t < nc.addresses.length; t++) {
14 address += "|addresses[" + t + "]: "
15 + nc.addresses[t].address.toString();
16 }
17 // 打印说明:
18 System.out.println("第" + i + "个接口:" + "|name: " + nc.name
19 + "|loopback: " + nc.loopback + "\r\naddress: "
20 + address);
21 }
22 } catch (Exception ef) {
23 ef.printStackTrace();
24 System.out.println("显示网络接口数据失败: " + ef);
25 }
26 }
27 }

刚开始运行是出现以后错误:

  Exception in thread "main" java.lang.UnsatisfiedLinkError: jpcap.JpcapCaptor.getDeviceList()[Ljpcap/NetworkInterface;
    at jpcap.JpcapCaptor.getDeviceList(Native Method)
    at org.manlin.jpcap.DispalyNetInterface.main(DispalyNetInterface.java:11)

最后一翻折腾后,发现是自己最初jre路径下的bin下的jpcap.dll 是从 http://sourceforge.net/projects/jpcap/ 上下载的 jpcap-0.01.16-win32.zip 解压下文件中copy过去的,然后我用 C:\Windows\System32  下的 Jpcap.dll 替换掉,问题就解决了。(希望对出现同样问题的朋友做个参考)

运行成功后输出结果:

  第0个接口:|name: \Device\NPF_{981723CD-87E4-4364-8C4A-467A51880877}|loopback: false
  address: |addresses[0]: /fe80:0:0:0:3c5c:7e90:9c7:5376|addresses[1]: /192.168.100.18


文中参考代码出处:http://javafound.iteye.com/blog/165704


原文地址:https://www.cnblogs.com/acmy/p/2337955.html