Как записать сетевой пакет в файл дампа? - PullRequest
0 голосов
/ 24 октября 2018

Я перехватываю пакеты с использованием Jpcap и просто печатаю захваченные пакеты, что работает нормально, но когда я пытаюсь записать захваченные пакеты в дамп-файл, я получаю сообщение об ошибке.

Неустранимая ошибкаобнаружено средой выполнения Java: EXCEPTION_ACCESS_VIOLATION (0xc0000005) на pc = 0x0000000002c29eba, pid = 6892, версия tid = 0x0000000000001afc JRE: среда выполнения Java (TM) SE (8.0_144-b01) (сборка 1.8.0_144-b01)Java HotSpot (TM) 64-разрядная серверная виртуальная машина (25.144-b01, смешанный режим, windows-amd64, сжатый упс) Проблемный кадр: v ~ BufferBlob :: jni_fast_GetLongField Не удалось записать дамп ядра.Мини-дампы не включены по умолчанию в клиентских версиях Windows. Файл отчета об ошибке с дополнительной информацией сохраняется как: C: \ Users \ Asim \ Documents \ NetBeansProjects \ JavaApplication31 \ hs_err_pid6892.log Если вы хотите отправить отчет об ошибке, посетите страницу:
http://bugreport.java.com/bugreport/crash.jsp Сбой произошел за пределами виртуальной машины Java в собственном коде.Смотрите проблемный кадр, где сообщать об ошибке.

JpcapWriter writer = JpcapWriter.openDumpFile(captor, "CapturedPackets");
                Packet packet = null;
                for (int j = 0; j < 10; j++){
                       packet = captor.getPacket();

                        if(packet!=null)
                        {
                           System.out.println(packet);
                           writer.writePacket(packet);         
                        }
                }
                writer.close();

`

...