Как экспортировать объект класса пакета 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 });