问题标签 [pcap4j]
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.
java - BPF 表达式仅捕获 arp-reply 数据包
是否存在只捕获 arp-reply 数据包的BPF表达式?目前,我正在使用 Pcap4J 和以下 BPF 表达式:
arp 和 dst 主机host和 ether dst mac
其中host是我的设备的 IP 地址,而mac是我的主网络接口的 MAC 地址。不幸的是,当数据包被捕获时,这个过滤器允许 ARP 广播请求也被捕获,所以我必须采取额外的步骤来检查 ARP 头的操作字段是 2 而不是 1。
java - 如何使用 pcap4j 库实现类似 ping 的功能
我想实现基本的网络检查功能来测试提供的 url 是否响应(例如ping www.google.com)。它必须提供操作信息,例如,请求的服务不可用或主机无法到达。我可以使用icmp4j库来实现它。但我想使用pcap4j库来实现相同的目标。我想将 url 放在文本框中,然后单击连接按钮,该按钮将调用 pcap4j api 来检查主机是否响应。
java - 环回上的 Pcap4j 数据包捕获不区分传入和传出数据包
我正在使用 pcp4j 为我的项目编写一个简单的数据包捕获和处理引擎。下面是我用来捕获数据包的代码,但是当我使用它只捕获环回地址上的传入数据包时,它会给我传出和传入的数据包。
如何区分环回地址上的传入和传出数据包?
java - Pcap4J:无法加载库“pcap”
我在 Windows 10 上运行一个使用 Pcap4J 的应用程序。它工作正常(具有管理员权限)。
当我在 Linux(Cent OS 7)上运行相同的应用程序时,我收到了这个错误:
java.lang.UnsatisfiedLinkError: Unable to load library 'pcap': Native library (linux-x86-64/libpcap.so) not found in resource path ([file:/tmp/spark-e5c4a3c6-8ee1-4b60-9fc0-941cdc83f521 /userFiles-3b9fc272-3010-4467-83cb-50378b87e4aa/my_app.jar])
我试过了:
- 安装 libcap:
yum install libcap-devel
- 以root权限运行
- 搜索
libpcap.so
文件:- 在libpcap-1.8.1.tar.gz,tcpdump-4.9.0.tar.gz和Pcap4J repo
- 在 Linux 中:
find / -name libpcap.so
- 在谷歌下载
- 在 .m2 和 .ivy2 缓存的罐子中
java - 如何在 pcap4j 中捕获域?
我在一个Java(Android)项目中工作,主要思想是捕获url并阻止对危险页面的访问,因此要获取用户访问的url,我正在使用pcap4j
库如下:
因此,如果我访问 url ( https://es.wikipedia.org/wiki/Google ),代码将生成域名,例如: (wikipedia.org),但我真正需要的是生成请求,我怎样才能获得完整的 URL ( https://es.wikipedia.org/wiki/Google )?
java - UnsatisfiedLinkError: 在资源路径 (.) 中找不到本机库 (com/sun/jna/android-x86-64/libjnidispatch.so)
我正在开发用于从设备嗅探数据包的 android 应用程序。我正在使用 pcap4j 库,但是当调用 Pcaps.getDevByAddress() 时,会启动异常。你能帮助我吗?
这是截断的代码:
PcapNetworkInterface nif =Pcaps.getDevByAddress(destAddr);
谢谢
java - Pcap4j java库:无法使用相同的ping捕获多个数据包
当我捕获特定数据包时,我无法使用相同的 ping 重现相同的内容。(例如,当您运行项目并执行 cmd“ping somethingthatdoesntwork.comm”结果:无法访问该页面时,您第二次执行相同的 ping 操作时没有任何反应。
java - 未找到 OSGI JNA 本机库 pcap
我在我的 OSGI 项目中使用pcap4j 。运行应用程序的设备正在运行 openembedded。当我在设备上的独立应用程序(非 OSGI)中运行我的代码时,它可以正常工作。在 OSGI 中运行时不会。我嵌入了 pcap4j 依赖项,因为它们不是捆绑包。清单包含 com.sun.jna 的导入,并且包 jna 4.2.0 可用(并由另一个包使用)。我还尝试调用 System.load 和 System.loadLibrary ...
java - PcapNetworkInterface 在给定 IP 上返回 null
我正在尝试捕获包裹。在我的“探索”示例中,我使用了在浏览器中访问的网站的 IP。我正在使用 PCAP4J 来捕获包信息。
根据https://www.pcap4j.org/上的第 3 步,我的印象是我可以简单地拥有一个互联网地址并开始收听它:
但是,当我将此 ip 更改为我的个人示例 (185.57.10.32) 时,nif返回 null。
我打印了一个 PcapNetworkInterfaces 列表,如下所示:
它返回以下内容:
wlp2s0 任何 lo docker0 enp3s0f1 br-df16c72d2764 bluetooth0 nflog nfqueue usbmon1 usbmon2
所以从这个意义上说,我理解nif返回 null 因为它不在列表中。但是,这让我不明白为什么作者给出的例子不像我预期的那样有效。
所以我认为第一个问题是:可以通过 Pcap4J 收听特定的 ip 吗?在这种情况下,一个网站的 ip。或者网站是不可能的,我应该再做一个测试用例吗?
谢谢!
java - Java - Pcap4j 只检测主机设备的地址
我一直在尝试为 ARP 数据包检测编写一个嗅探器。我已经让 Pcap4j 库运行并检测我的网络,但它只在地址列表中显示它当前正在运行的计算机。有很多不同的设备连接到网络,Wireshark 可以检测到它们。我已经检查了至少主机和另一台计算机在 Windows 设置中设置了要打开的检测,并且它们可以在 Windows 网络中相互识别。
这是非常基本的代码:
这是输出(Pcap4J 打开一个文本对话框让我决定网络设备,我确认它是正确的!)