Java - Pcap4j обнаруживает только адрес хост-устройства - PullRequest
0 голосов
/ 11 мая 2018

Я пытался написать сниффер для обнаружения ARP-пакетов. Я получил библиотеку Pcap4j для запуска и обнаружения моей сети, но в списке адресов он показывает только компьютер, на котором он работает. К сети подключено множество различных устройств, Wireshark может обнаружить их все. Я проверил, что, по крайней мере, на главном компьютере и на другом установлен параметр обнаружения для открытия в настройках Windows, и они могут распознавать друг друга в сети Windows.

Это очень элементарный код:

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 открывает текстовый диалог, чтобы я мог выбрать сетевое устройство, и я подтвердил, что он правильный!)

[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

1 Ответ

0 голосов
/ 15 мая 2018

Вы имеете в виду, что хотите сделать Удаленный захват ?

Pcap4J пока не поддерживает его.

...