2017-12-19 4 views
0

사용자가 내 도구를 사용하는 응용 프로그램을 개발 중이지만 도구가 패킷을 만날 때마다 .pcap 파일로 C#으로 패킷 클래스를 업로드합니다. 개인적으로 조사하고 필요한 변경을 할 수 있도록 내 사이트까지 파일을 만드십시오. 나는 내 목표를 달성 할 수있는 방법을 누군가가 알고 있는지 궁금해하고 있었다.Pcap.Net 패킷 클래스 개체를 .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

나는이 질문을 게시하기 전에 시간 동안보고 누군가가 잘하면 내가 다이빙 및 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 }); 
+0

자습서에서 누락 된 것을 (가 https://github.com/PcapDotNet/Pcap.Net/wiki/Pcap.Net-Tutorial-Handling-offline-dump -files-saving-packets-to-a-dump-file) – brickner

+0

@brickner 물론, 내가 실수했을 때 snarky 덧글로 늦게 파티에 나타납니다. 자라다. –

관련 문제