0 Pregunta: Escribir matriz de bytes en el nuevo archivo PCAP

pregunta creada en Thu, Mar 28, 2019 12:00 AM

Estoy usando Java 8, Spring Rest API y Angular. Tengo el byte [] binaryData que se recupera de la columna en DB (Postgres) del tipo de datos varbinary. Quiero crear un nuevo archivo '.pcap' como sample.pcap y devolver este archivo como respuesta, para que ese archivo se descargue en un navegador.

He recibido el byte [] como:

byte[] binaryData = resultSet.getBytes("col_name");

Escribí una función usando la biblioteca jnetpcap:

byte[] binaryData = resultSet.getBytes("col_name");

escribió una función usando la biblioteca jnetpcap:

private void pcapFile(Detail detail){

    List<PcapIf> alldevs = new ArrayList<PcapIf>();
    StringBuilder errbuf = new StringBuilder();

    int r = Pcap.findAllDevs(alldevs, errbuf);
    if (r != Pcap.OK || alldevs.isEmpty()) {
        throw new DataNotFoundException("Unable to create PCAP file");
    }
    PcapIf device = alldevs.get(0);

    int snaplen = 64 * 1024; // Capture all packets, no trucation
    int flags = Pcap.MODE_PROMISCUOUS; // capture all packets
    int timeout = 5 * 1000; // 10 seconds in millis
    Pcap pcap =
            Pcap.openLive(device.getName(), snaplen, flags, timeout, errbuf);
    if (pcap == null) {
        throw new DataNotFoundException("Unable to create PCAP file");
    }

    String ofile = "sample.cap";
    PcapDumper dumper = pcap.dumpOpen(ofile);

    ByteBufferHandler<PcapDumper> dumpHandler = new ByteBufferHandler<PcapDumper>() {

        public void nextPacket(PcapHeader header, ByteBuffer buffer,
                               PcapDumper dumper) {

            dumper.dump(header, buffer);
        }
    };

    pcap.loop(10, dumpHandler, dumper);

    File file = new File(ofile);

}

De lo cual no tengo idea de cómo funciona PcapDumper.

No puedo acceder a una parte donde puedo crear y archivar y devolver exitosamente el archivo.

¿CÓMO consigo que binaryData (byte []) se analice en un nuevo archivo pcap?

PD: Por favor, no lo marque como duplicado o algo que ya haya examinado todas las preguntas O bien muchos de ellos no tienen respuesta o la solución no es adecuada para mi problema, incluso en algunos casos se han eliminado los enlaces a una solución.

    
0
  1. "Ya he revisado todas las preguntas". Por favor, no digas cosas que no son ciertas, es más probable Hacer que las personas se abstengan de ayudar. En cualquier caso, no ha descrito realmente cuál es su problema real. Por favor, deje claro lo que ya intentó y dónde está atascado. ¿No sabes cómo escribir datos binarios en un archivo, hay algo más?
    2019-03-29 07: 44: 42Z
0 Respuestas                              0                         
fuente colocada aquí