【问题标题】:How do I export Pcap.Net Packet Class Object To .pcap File如何将 Pcap.Net 数据包类对象导出到 .pcap 文件
【发布时间】:2018-06-01 09:19:18
【问题描述】:

我正在开发一个应用程序,用户将在其中使用我的工具,但每次工具遇到一些数据包时,它都会将 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】:

    在发布这个问题之前我已经找了几个小时,但没有找到任何结果,所以当我等待有人希望能回答这个问题时,我决定潜入并开始查看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 });
    

    【讨论】:

    • 教程中是否缺少任何内容 (github.com/PcapDotNet/Pcap.Net/wiki/…)
    • @brickner 当然,当我犯了错误时,请带着尖刻的评论迟到。长大了。
    • 我实际上是在查看文档中是否缺少某些内容,或者是否缺少一些指向文档的指针。教程链接可能对其他人有用。什么会阻止下一个人花费数小时寻找答案?然而,我长大可能为时已晚。
    • @brickner 我的解决方案解释说我只是在搜索类本身时找到它。
    猜你喜欢
    • 2015-04-08
    • 2013-02-13
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 2020-11-11
    相关资源
    最近更新 更多