8

有没有办法在 Java 应用程序中发送 ARP 请求?我知道 ARP 位于 TCP 和 UDP 之下,因此默认情况下 Java 无法发送 ARP 请求。我只是想知道是否有任何第三方 Java 库可以让您发送 ARP 请求。

要捕获 ARP 回复,我知道我可以使用 jpcap 来解决这部分问题。

谢谢

4

3 回答 3

2

java 应用程序总是可以执行一些外部命令,调用另一个工具来执行它。不过,我不确定您所说的“标准 java”是什么意思。

基于谷歌搜索,Java中的kraken pcap中似乎存在arping 。见海妖

还有用于此目的的jpcap 。

于 2013-02-01T16:08:12.640 回答
2

正如您所说,Java 标准库没有提供足够低级别的网络 API 来发送 ARP 请求。

为 libpcap / winpcap 提供 Java 绑定,因此pcap4j可用于发送 ARP 请求。图书馆的信息可以在他们的主页上找到。有关如何发送 ARP 请求的信息,请参阅此示例。

于 2016-08-18T00:06:51.470 回答
-1

不,不是在本机 Java 中(我猜这是出于安全考虑)。虽然它确实需要使用 C++/C 本机代码库和 JNI 编程,但可以做到这一点。https://forums.oracle.com/forums/thread.jspa?threadID=1690617

于 2013-02-01T20:00:01.947 回答