0

我最近下载了该JEthereal.jar文件以捕获我的互联网连接上的数据包流量,JEthereal并对其进行研究。它可以很好地从文件中读取数据包,.pcap但是在尝试捕获数据包时,它给了我一条消息:

“没有找到设备。这可能意味着您安装了JPcap,但没有安装libpcap / WinPcap。请按照网站上的说明进行安装。大约需要15秒,非常值得。”

所以我下载了它的源代码并在 Eclipse 中打开它,因为我已经安装了WinPcap.

在浏览代码时,我来到了应该发现网络设备的部分。包中类的静态方法getDeviceList(),它应该返回一个类型为 的网络设备数组。以下是它在网上给出的声明:JpcapCaptorjpcapNetworkInterface

public static NetworkInterface[] getDeviceList()

但是,在我下载的源代码中,该方法没有正文,并且已声明native

public static native NetworkInterface[] getDeviceList();

我现在应该怎么做才能识别我的设备?在网上和这个门户上搜索时,我知道jpcap.dll我的 system32 文件夹中应该存在一个文件(我使用的是 Windows7),我应该WinPcap为此安装。我已经安装了,system32文件夹WinPcap中没有jpcap.dll文件。另外,我想我应该将 system32 添加到我的 PATH 变量中,我还没有这样做,因为那里没有jpcap.dll

提前谢谢!!

4

2 回答 2

0

如果“在网上和这个门户网站上搜索时,我知道jpcap.dll我的 system32 文件夹中应该存在一个文件(我使用的是 Windows7),我应该WinPcap为此安装。”,那么,俗话说,有人错了在互联网上

jpcap.dll不是WinPcap一部分,您无需安装WinPcap 即可获得它。您需要安装 Keita Fujii 的 Jpcap(他似乎不再使用它,并且 JEthereal 站点为其链接的站点不再存在,但 JEthereal 站点有一些本地下载链接,有些人创建了自己的分支它)。

你有安装任何版本的 Jpcap 吗?如果是这样,你是从哪里得到的?它可能是不适用于 JEthereal 的版本。

于 2013-03-01T19:37:57.470 回答
0

为什么 JEthereal 中 jpcap.JpcapCaptor 类中的 getDeviceList() 方法是本机的?

因为getDeviceList()是作为本机 (C/C++) 代码实现的。

在尝试捕获数据包时,它给了我一条消息,上面写着:“找不到设备......”

我正在使用 Windows7

触摸。从 Windows Vista(它是第一个实现类似 root 的 pretensions 的 Windows)开始,您需要以管理员身份运行 jpcap 。这必须至少在系统重新启动后第一次运行 jpcap 时完成(以便授权 winpcap 库访问网络资源)。

来自jpcap 常见问题

问:我无法获取网络接口列表或无法捕获任何数据包。为什么?

这可能是因为您没有运行基于 Jpcap 的应用程序所需的管理权限。

在 Windows 2000/XP 上,您的帐户应该在管理员组中。

在 Windows Vista 上,即使您的帐户在管理员组中,您仍然需要使用“以管理员身份运行”选项。要使用该选项,请右键单击应用程序图标,然后选择“以管理员身份运行”。如果您的应用程序是基于命令行的,您需要使用“以管理员身份运行”选项打开命令提示符,并在该命令提示符中运行您的应用程序。

于 2013-03-18T23:17:40.217 回答