Не удалось получить пакеты через api pcap4j - PullRequest
0 голосов
/ 23 октября 2018

Это ошибка, которую я получаю:

java.lang.UnsupportedOperationException: этот код никогда не включается в pcap4j-core.jar.

Вот код.

/ ** * * / package com.rs.sample.network;

import java.io.IOException;

import org.pcap4j.core.NotOpenException;
import org.pcap4j.core.PacketListener;
import org.pcap4j.core.PcapHandle;
import org.pcap4j.core.PcapNativeException;
import org.pcap4j.core.PcapNetworkInterface;
import org.pcap4j.core.PcapNetworkInterface.PromiscuousMode;
import org.pcap4j.packet.Packet;
import org.pcap4j.util.NifSelector;

import com.rs.sample.IExample;

/**
 * @author rahuls29
 *
 */
public class NetworkLogs implements IExample {

    /**
     * 
     */
    public NetworkLogs() {
        // TODO Auto-generated constructor stub
    }

    /*
     * (non-Javadoc)
     * 
     * @see com.rs.sample.IExample#start()
     */
    public boolean start() {
        // The code we had before
        PcapNetworkInterface device = getNetworkDevice();
        System.out.println("You chose: " + device);

        // New code below here
        if (device == null) {
            System.out.println("No device chosen.");
            System.exit(1);
        }

        // Open the device and get a handle
        int snapshotLength = 65536; // in bytes
        int readTimeout = 50; // in milliseconds
        final PcapHandle handle;
        try {
            handle = device.openLive(snapshotLength, PromiscuousMode.PROMISCUOUS, readTimeout);

            // Create a listener that defines what to do with the received packets
            PacketListener listener = new PacketListener() {
                public void gotPacket(Packet packet) {
                    // Override the default gotPacket() function and process packet
                    System.out.println(handle.getTimestamp());
                    System.out.println(packet);
                }
            };

            // Tell the handle to loop using the listener we created
            // try {
            int maxPackets = 50;
            handle.loop(maxPackets, listener);
            handle.close();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (PcapNativeException e) {
            e.printStackTrace();
        } catch (NotOpenException e) {
            e.printStackTrace();
        }

        // Cleanup when complete

        return true;
    }

    public PcapNetworkInterface getNetworkDevice() {
        PcapNetworkInterface device = null;
        try {
            device = new NifSelector().selectNetworkInterface();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return device;
    }

}

Я пытаюсь получить пакеты из сети, используя pcap4j api, но получаю ошибку, пожалуйста, помогите, я пытаюсь получить пакетыиз сети, используя pcap4j api, но я получаю ошибку, пожалуйста, помогите, я пытаюсь получить пакеты из сети, используя pcap4j api, но я получаю ошибку, пожалуйста, помогите, я пытаюсь извлечь пакеты из сети, используя pcap4j api, но я получаю ошибку, пожалуйста, помогите, я пытаюсь получитьпакеты из сети, используя pcap4j api, но я получаю ошибку, пожалуйста, помогите: я пытаюсь получить пакеты из сети, используя pcap4j api, но я получаю ошибку, пожалуйста, помогите, я пытаюсь получить пакеты из сети, используя pcap4j api, но я получаю ошибку, пожалуйста, помогите, я пытаюсьполучить пакеты из сети, используя pcap4j API, но я получаю ошибкуПожалуйста, помогите Я пытаюсь получить пакеты из сети, используя pcap4j API, но я получаю сообщение об ошибке, пожалуйста, помогите

...