How gaoxingliang/mac-address-detector-java works
This Java library resolves a remote host’s MAC address on the local subnet: callers provide an IP address, and the helper selects an interface, sends an IPv4 ARP or IPv6 neighbor-discovery probe, and returns a captured link-layer address. The README also documents a separate packet-capture-and-dump utility. Helper excerpts are incomplete, so the graph shows only the documented protocol behavior and visible capture/send flow; it omits uncertain internal details.
Main entry points: MacAddressHelper.java MAC address helper · PacketDump.java Packet dump utility
Components 9
MAC lookup
- MAC address helper
src/main/java/io/gitee/gaoxingliang/macdetector/MacAddressHelper.java - Local interfaces
src/main/java/io/gitee/gaoxingliang/macdetector/MacAddressHelper.java - ARP / NDP probe
src/main/java/io/gitee/gaoxingliang/macdetector/MacAddressHelper.java - Packet response listener
src/main/java/io/gitee/gaoxingliang/macdetector/MacAddressHelper.java
Packet capture
- Packet dump utility
src/main/java/io/gitee/gaoxingliang/macdetector/PacketDump.java - PCAP dump file
Capture runtime
- Pcap4J / libpcap
Other components
- Library caller
- Remote subnet host
Connections 12
- Library caller → MAC address helper: requests MAC
- MAC address helper → Local interfaces: selects interface
- MAC address helper → ARP / NDP probe: builds probe
- ARP / NDP probe → Pcap4J / libpcap: sends packet
- Pcap4J / libpcap → Remote subnet host: delivers probe
- Remote subnet host → Pcap4J / libpcap: returns response
- Pcap4J / libpcap → Packet response listener: dispatches packet
- Packet response listener → MAC address helper: provides MAC
- MAC address helper → Library caller: returns address
- Library caller → Packet dump utility: runs capture
- Packet dump utility → Pcap4J / libpcap: captures packets
- Packet dump utility → PCAP dump file: writes packets