首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java - Pcap4j仅检测主机设备的地址

Java - Pcap4j仅检测主机设备的地址
EN

Stack Overflow用户
提问于 2018-05-12 02:52:32
回答 1查看 698关注 0票数 0

我一直在尝试编写一个用于ARP数据包检测的嗅探器。我已经让Pcap4j库运行并检测我的网络,但它只在地址列表中显示当前运行它的计算机。有许多不同的设备连接到网络,Wireshark可以检测到所有这些设备。我已经检查过,至少主机和另一台计算机在Windows设置中将检测设置为打开,并且它们可以在Windows网络中相互识别。

这是非常简单的代码:

代码语言:javascript
复制
package arpsniffer;
import java.io.IOException;
import org.pcap4j.core.PcapNetworkInterface;
import org.pcap4j.util.LinkLayerAddress;
import org.pcap4j.util.NifSelector;

/**
 *
 * @author Fabio
 */
public class ArpSniffer {
    public static void main(String[] args) {
        PcapNetworkInterface nif;
        try {
          nif = new NifSelector().selectNetworkInterface();
            for(LinkLayerAddress addr : nif.getLinkLayerAddresses()){
                System.out.println(addr.toString());
            }
        } catch (IOException e) {
        }
    }
}

这是输出(Pcap4J打开一个文本对话,让我决定网络设备,我确认它是正确的!)

代码语言:javascript
复制
[main] INFO org.pcap4j.core.NativeMappings - Pcap4J successfully loaded a 

native pcap library: WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008)
[main] INFO org.pcap4j.util.PropertiesLoader - [org/pcap4j/pcap4j.properties] Could not get value by org.pcap4j.af.inet, use default value: 2
[main] INFO org.pcap4j.util.PropertiesLoader - [org/pcap4j/pcap4j.properties] Could not get value by org.pcap4j.af.inet6, use default value: 23
[main] INFO org.pcap4j.util.PropertiesLoader - [org/pcap4j/pcap4j.properties] Could not get value by org.pcap4j.af.packet, use default value: 17
[main] INFO org.pcap4j.util.PropertiesLoader - [org/pcap4j/pcap4j.properties] Could not get value by org.pcap4j.af.link, use default value: 18
0
[main] INFO org.pcap4j.core.Pcaps - 1 NIF(s) found.
NIF[0]: \Device\NPF_{/*not showing this stuff here */}
      : description: Microsoft
      : link layer address: XX:XX:XX:XX:XX:XX //Concealed my adress!
      : address: /192.168.192.107

Select a device number to capture packets, or enter 'q' to quit > 0    //This zero here was my personal input
XX:XX:XX:XX:XX:XX
EN

回答 1

Stack Overflow用户

发布于 2018-05-15 06:33:23

你是说你想做Remote Capture吗?

Pcap4J目前还不支持它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50298579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档