我正在开发一个用户将使用我的工具的应用程序,但每次该工具遇到一些数据包时,它会将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);
}
答案 0 :(得分: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 });