我在试着捕捉包裹。在我的“探索”示例中,我使用了我在浏览器中访问的网站的IP。我正在使用PCAP4J来捕获包信息。
基于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 any docker0 enp3s0f1 br-df16c72d2764 bluetooth0 nflog usbmon1 usbmon2
因此,在这个意义上,我理解nif返回null,因为它不在列表中。然而,这让我不明白为什么作者给出的例子不像我所期望的那样有效。
因此,我认为第一个问题是:人们能通过Pcap4J收听特定的ip吗?在这种情况下,一个网站的ip。或者网站不可能,我应该做另一个测试用例吗?
谢谢!
发布于 2018-03-17 00:40:09
您应该传递给Pcaps.getDevByAddress()的IP附件是一个NIF。您可以使用NIF从任何IP地址捕获数据包。
https://stackoverflow.com/questions/49298822
复制相似问题