PcapNetworkInterface 在给定 IP 上返回空值



我正在尝试捕获包。在我的"探索"示例中,我使用我在浏览器中访问的网站的 IP。我正在使用PCAP4J来捕获软件包信息。

根据第 3 步 https://www.pcap4j.org/我的印象是我可以简单地拥有一个互联网地址并开始收听它:

InetAddress addr = InetAddress.getByName("192.168.10.100");
PcapNetworkInterface nif = Pcaps.getDevByAddress(addr);

但是,当我将此 ip 更改为我的个人示例 (185.57.10.32) 时,nif返回 null。

我已经打印出一个PcapNetworkInterfaces列表,如下所示:

System.out.println("#### LIST OF DEVS ####");
List<PcapNetworkInterface> devices = Pcaps.findAllDevs();
for (PcapNetworkInterface device : devices) {
System.out.println(device.getName());
}
System.out.println("###############");

这将返回以下内容:

WLP2S0 任何 瞧 码头工人0 enp3s0f1 BR-DF16C72D2764 蓝牙0 NFLOG NF队列 USBMON 1 USBMon2

所以从这个意义上说,我理解nif返回 null,因为它不在列表中。但是,这让我不明白为什么作者给出的例子没有我期望的那样有效。

所以我认为第一个问题是:可以通过 Pcap4J 收听特定的 ip 吗?在这种情况下,网站的ip。还是网站不可能,我应该制作另一个测试用例吗?

谢谢!

您应该传递给Pcaps.getDevByAddress()的IP地址是NIF拥有的IP地址。 您可以使用 NIF 从任何 IP 地址捕获数据包。

相关内容

  • 没有找到相关文章

最新更新