beyonddc
beyonddc

Reputation: 1256

Is there a way to send ARP request via Java?

Is there a way to send ARP request within a Java application? I know that ARP is sitting a layer under TCP and UDP therefore by default Java couldn't send ARP request. I am just wondering is there any 3rd party Java library that will allow you to send ARP request.

To capture ARP reply, I know I can use jpcap so that part is solved.

Thanks

Upvotes: 9

Views: 15167

Answers (3)

eis
eis

Reputation: 53482

A java app can always execute some external command, calling another tool to do it. I'm not sure what you mean by "standard java" though.

Based on googling, there seems to be arping in kraken pcap which is in Java. See about Kraken.

There's also jpcap as well that's used for the purpose.

Upvotes: 2

natbob1
natbob1

Reputation: 318

As you've stated, the Java standard library does not provide a low level enough networking API to send an ARP request.

The pcap4j provides Java bindings for libpcap / winpcap and thus can be used to send an ARP request. Information on the library can be found on their homepage. See this sample for how to send an ARP request.

Upvotes: 3

DangerDan
DangerDan

Reputation: 529

No, not in native Java (I'm guessing this is due to security concerns). It can be done although it does require the use of C++/C native code libraries and JNI programming. https://forums.oracle.com/forums/thread.jspa?threadID=1690617

Upvotes: -1

Related Questions