问题标签 [jnetpcap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1409 浏览

java - 未找到 Native Lcom/slytechs/library/NativeLibrary 的实现

我在 Android 项目中使用 JNetPcap 库:我无法使用此代码访问我的本机应用程序,即使我将 JNetPcap 设置为项目的库。

有人可以帮助我吗?请

我的代码如下:

日志文件:

0 投票
1 回答
2132 浏览

java - JNetPcap 项目

我制作了一个 jNetPcap 项目,其代码如下:

当我尝试执行程序时,我在控制台标签中得到了这个结果:

“无法读取设备列表,错误是”

由于 jNetPcap 依赖于需要 root 权限的 Libpcap C 库,很明显这就是我的程序无法运行的原因。有人可以帮我解决这个问题吗?

注意:我尝试在 src 文件夹中创建 .jar 文件并从该 .jar 文件创建一个 .exe,但它会引发以下错误:


0 投票
1 回答
944 浏览

java - 使用 jnetpcap 进行数据使用计数

我为一个可以测量计算机总数据使用量的程序编写了以下代码。我使用了 PcapPacket 类的 getTotalSize() 方法。它是直接表示数据使用情况(如果连续添加)还是我应该使用其他方法。

以上是我编写的代码,试图计算通过网络的流量。它是否直接指示(如果不是完全准确)计算机的数据使用情况?

0 投票
0 回答
659 浏览

java - 如何使用 jnetpcap 将捕获的数据包转发到另一个网络设备?

我想发送从网络设备 1 嗅探到的捕获数据包,并将其注入网络设备 2 而不更改其内容(将充当电线)

到目前为止我已经尝试过

0 投票
1 回答
730 浏览

java - 来自 Java 的 PCAP 纳秒分辨率

语境

当前状态

对于性能分析,我的公司对纳秒级分辨率很感兴趣。到目前为止,我们一直在使用硬件时间戳,并且纳秒的支持很快就被入侵到了 C libpcap库中。

似乎现在已经在库中添加了对纳秒的支持(请参阅此处的其他 Stack Overflow 答案),并且git 存储库上的最后一个版本使以下方法可用:

未来

问题是,C 已经证明自己难以维护、难以扩展,而且由于我们仅将捕获用于分析,我们觉得我们可以从使用Java中受益。在性能分析方面,能够使用适当的 IDE、Maven、构建 Web 服务等似乎比执行速度更重要。

我最初希望能够使用jNetPcap,但我不知道如何使用 libpcap 的 Java 绑定支持纳秒级分辨率。


问题

jNetPcap

有谁知道使用 jNetPcap 以纳秒精度读取 Pcap 文件的简单方法?

更新:我刚刚发现TimestampResolution在 jNetPcap 的 Javadoc 中提到了一个枚举。我将尝试使用它并稍后更新我的答案。

注意:我还直接在jNetPcap 的支持论坛上询问了纳秒分辨率,如果我在那方面得到任何答案,我会更新我的问题......

其他解决方案

有谁知道另一种从 Java 生态系统中获利的方法,同时仍然能够以纳秒级精度读取 PCap 文件?


谢谢!:)

0 投票
0 回答
112 浏览

java - Jar 从 cmd 工作 - 不是从双击(附加库)

我似乎有一个奇怪的问题,这很可能是由于不了解在 java 中包含其他库是如何工作的。

我编写了一个jnetpcap.jar用于处理 pcap 文件的程序。当我从 Eclipse 启动应用程序时,它运行良好,并且通过导出可运行的 jar(将所需的库复制到子文件夹)也工作了很多次。它甚至可以在其他计算机上运行。如jnetpcap doc中所述,运行Windows的计算机已放入jnetpcap.dllC:\Windows根据每台机器上的x86或x64 dll)

无论如何,以下场景可以在我和其他机器上重现:

  • 运行完整的 Eclipse 项目工作
  • 从 cmdjava -jar pcapdump.jar运行
  • double-click jargui 等工作 - 但“主要工作”没有完成,所以没有使用 pcap 文件。

我在日志中看不到任何错误。

eclipse中的配置:

  • 添加了外部用户库。指向我本地的 jnetpcap.jar 和 source-jar。

当导出为 runnable-jar 并将库复制到子文件夹时,jnetpcap.jar 被复制到单独的子文件夹中。就像我以前做过很多次一样。

无论如何,今天存在所描述的问题,我不知道我做错了什么或可能出了什么问题。

0 投票
1 回答
662 浏览

java - 使用 Java 读取 WIRELESS .pcap 数据包

我想读取捕获的 (.pcap) WIRELESS 数据包并获取 IP 地址和端口号、标志等信息(来自网络层和 OSI 模型的上层)。所以哪个JAVA库可以帮助我。我尝试使用 JnetPcap 但没有成功,所以 JnetPcap 是否支持无线数据包?...或我可以在上面使用的任何其他 java 库

0 投票
1 回答
1706 浏览

android - 用于 Android 数据包捕获的 jNetPcap

连接到 Wifi 时,我一直试图在我的 android 应用程序中捕获数据包。

我正在使用广播接收器类。

使用以下代码连接到 wifi 网络时,我已成功接收到广播:

我想在网络连接时捕获数据包。我知道关于 wifiInfo 和 WifiManager 类的一切。

我在这里尝试使用jNetPcap库。如何捕获这些数据包?我没有想法。

请大家帮帮我...

0 投票
1 回答
1020 浏览

java - jNetPcap sendPacket() 函数复制帧

我想问你一个具体的问题:我正在尝试使用Java 1.7上的jNetPcap 1.4库开发一个软件交换机,目标是有一个程序,可以转发在端口号上接收到的数据包。1 到端口号。2,反之亦然(仅在这两个 NIC-s 上)。

我可以在两个接口上看到所有传入的数据包,但是在转发时,我有一个问题:如果我在接口 X 上发送一个数据包,类内部pcap.sendPacket(PcapPacket)nextPacket()函数PcapPacketHandler()也会看到它,并且会处理为“ new”数据包,只是忽略它,因为它是由同一个Pcap实例发送的。

有什么方法可以忽略 pcap.sendPacket(PcapPacket) 函数发送的数据包(因此它们不会再次出现在 nextPacket() 函数中)?

我对底层的 winpcap 库了解不多,但我确信 C# 中的 SharpPcap 具有这种类型的功能。jNetPcap 也没有,还是我错过了什么?

我尝试过的事情:

  1. 使用pcap.inject()代替pcap.sendPacket(),但我的网卡似乎不支持这个功能
  2. 将捕获方向设置为仅入站 pcap.setDirection(Direction.IN)- 这似乎完全没有效果,数据包被捕获就像设置之前一样。

附言。不幸的是,我必须用 Java 编写它,如果 jNetPcap 库没有此功能,请您建议如何解决该问题?我正在考虑将发送的数据包缓冲到某种类型的数组中,并检查每个新检测到的数据包是否与数组中的一个数据包相同——但这似乎是一个计算复杂的解决方案。

这是我的示例代码(不是全部,只是相关部分):

第二个界面也是如此。

提前谢谢你的帮助。

0 投票
1 回答
180 浏览

eclipse - 为什么选择的设备没有在 Jnetpcap 中打开(使用 eclipse)?

我正在学习使用 jnetpcap(在 Windows 8、64 位上)。我首先安装了 Wincap,然后在 Eclipse 中设置了库并运行了以下示例(不做任何更改):http: //jnetpcap.com/examples/classic。它运行没有任何问题,但是一旦选择了设备,就不会发送任何数据包,也不会打印任何内容到控制台。我以管理员身份运行 Eclipse(通过右键单击)。我还需要做什么才能让这个示例按预期工作。请理解我是一个java初学者。这是我在控制台中的内容(此后没有打印):