如何将Pcap.Net数据包类对象导出到.pcap文件

问题描述 投票:0回答:1

我正在开发一个用户将使用我的工具的应用程序,但每次工具遇到一些数据包时,它会将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);
    }
c# pcap winpcap pcap.net
1个回答
0
投票

我在发布这个问题之前已经找了好几个小时并且没有找到任何结果,所以当我等待有人希望回复这个问题时,我决定潜入并开始查看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 });
© www.soinside.com 2019 - 2024. All rights reserved.