Как экспортировать объект класса пакета Pcap.Net в файл.pcap

Я разрабатываю приложение, в котором пользователи будут использовать мой инструмент, но каждый раз, когда инструмент встречает какие-либо пакеты, он загружает класс пакетов в C# в виде файла.pcap на мой сайт, чтобы я мог лично проверить его и внести необходимые изменения., Мне было интересно, знает ли кто-нибудь, как мне достичь этой цели.

    public XXXXXCapturer(LivePacketDevice globalDevice) {
        PacketCommunicator globalCommunicator = globalDevice.Open(512, PacketDeviceOpenAttributes.Promiscuous, 1000);

        using (BerkeleyPacketFilter filter = globalCommunicator.CreateFilter("ether host XX:XX:XX:XX:XX:XX"))
        {
            globalCommunicator.SetFilter(filter);
        }
        globalCommunicator.NonBlocking = false;
        globalCommunicator.ReceivePackets(1, HandlePackets);
    }

    private void HandlePackets(Packet packet)
    {
        XXXXXDecoder Decoder = new XXXXXDecoder(packet);
        // Get Packet & Upload
        Info = new XXXXXInfo(Decoder.Data);
    }

1 ответ

Решение

Я искал несколько часов до публикации этого вопроса и не нашел никаких результатов, поэтому, пока я ждал, чтобы кто-то с надеждой ответил на этот вопрос, я решил, что погрузлюсь и начну просматривать некоторые коды Pcap.Net, Именно тогда я нашел статический класс под названием PcapDumpFile с методом под названием Dump(), Этот метод с несколькими аргументами выполнил то, о чем я просил в этом вопросе. Я оставлю этот вопрос, потому что я надеюсь, что кому-то еще с подобным вопросом может помочь это.

мой Dump() Использование метода:

 PacketDumpFile.Dump(System.IO.Directory.GetLogicalDrives()[0] + @"Program Files (x86)\XXXXX\" + "temp.pcap", packet.DataLink.Kind, packet.Length, new List<Packet> { packet });
Другие вопросы по тегам