2

我正在用 Java 编程,并且是 jpcap 的新手。我已经为 Microsoft Windows 安装了 Jpcap。我的电脑在 Windows 7 平台上运行。我有一个 Eclipse Indigo IDE。当我使用 Eclipse Indigo IDE 创建一个新的 Java 项目时,我创建了一个带有 main 方法的类,然后我复制并粘贴了 jpcap 教程中的代码。

package PacketCapturing;

import jpcap.*;
import jpcap.packet.*;

public class NetworkInterfaceList {

public static void main(String args[]){
    //Obtain the list of network interfaces
    NetworkInterface[] devices = JpcapCaptor.getDeviceList();

    //for each network interface
    for (int i = 0; i < devices.length; i++) {
      //print out its name and description
      System.out.println(i+": "+devices[i].name + "(" + devices[i].description+")");

      //print out its datalink name and description
      System.out.println(" datalink: "+devices[i].datalink_name + "(" + devices[i].datalink_description+")");

      //print out its MAC address
      System.out.print(" MAC address:");
      for (byte b : devices[i].mac_address)
        System.out.print(Integer.toHexString(b&0xff) + ":");
      System.out.println();

      //print out its IP address, subnet mask and broadcast address
      for (NetworkInterfaceAddress a : devices[i].addresses)
        System.out.println(" address:"+a.address + " " + a.subnet + " "+ a.broadcast);
    }
}

在 Eclipse Indigo IDE 的 Java 代码编辑器上,我看到为 NetworkInterface 类、NetworkInterface 设备、对象及其属性变量标记的红线。

当我将鼠标悬停在红色标记上时,我看到了以下错误消息:

Access restriction: The type NetworkInterface is not accessible due to restriction on required library C:\Windows\Sun\Java\lib\ext\jpcap.jar 

当我运行 Java 程序时,没有抛出编译错误,Java 控制台能够正确显示输出。为什么呢??每当我在 Eclipse Indigo IDE 上调用 jpcap 库时,有什么方法可以删除 Java 编辑器上的红色标记?是因为我没有为windows安装winpcap吗?

4

2 回答 2

1

我遇到了完全相同的问题,我花了一段时间才找到解决方案。希望这可以帮助。

  1. 您必须认识到 Jpcap 是 32 位的,并且您很可能在 Windows 7 上运行 64 位版本的 Eclipse。确保为此运行 32 位 Eclipse。

  2. 转到 Jpcap 下载部分并将文件 jpcap-0.6.zip 和 JPcapSetup-0.6.exe 放在一个文件夹中。解压缩并执行它们。

  3. 将 Jpcap.dll 文件复制到 C:\Windows\System32 文件夹

  4. 启动 Eclipse,新建项目,新建包,新建类,编写代码。

  5. 右键单击项目名称 --> 构建路径 --> 配置构建路径 ...-> Java 构建路径 --> 添加外部 JAR...

  6. 添加 jpcap.jar 文件。

  7. 运行你的程序。

于 2012-09-06T19:44:40.823 回答
-1

从 NetBeans 尝试它,如果需要安装它,请尝试手动导入库。jpcap.jar

于 2012-09-02T03:50:51.887 回答