0

我正在开发用于从设备嗅探数据包的 android 应用程序。我正在使用 pcap4j 库,但是当调用 Pcaps.getDevByAddress() 时,会启动异常。你能帮助我吗?

这是截断的代码:

InetAddress destAddr = parsedPacket; 

PcapNetworkInterface nif =Pcaps.getDevByAddress(destAddr);

谢谢

4

2 回答 2

0

我想您应该将 JNA 添加为 aar:

implementation 'net.java.dev.jna:jna:5.5.0@aar'

参考:https ://github.com/java-native-access/jna/blob/master/www/FrequentlyAskedQuestions.md#jna-on-android

于 2020-03-13T09:33:29.867 回答
0

不确定这对您来说是否仍然是一个问题。您是否将这两个依赖项都添加到了类路径中?

将以下内容添加到您的 pom.xml:

<dependencies>
 <dependency>
  <groupId>org.pcap4j</groupId>
  <artifactId>pcap4j-core</artifactId>
  <version>1.7.3</version>
 </dependency>
 <dependency>
  <groupId>org.pcap4j</groupId>
  <artifactId>pcap4j-packetfactory-static</artifactId>
  <version>1.7.3</version>
 </dependency>
   ...
</dependencies>

还要确保你已经在你的机器上安装了 pcaplib-dev。取决于操作系统如何安装它。

您是否执行了这些步骤?

如果是这样,您是否授予了 java root 访问权限(假设您在 linux 上)?我看到人们在使用 set_cap 命令后遇到问题。请告诉我!

于 2018-03-15T11:24:32.183 回答