2014-06-09 7 views
0

이더넷을 통해 패킷을 캡처하는 GUI를 구축 중입니다.Pcap을 사용하여 이더넷을 통해 패킷 캡처

수신 된 패킷을 Byte [] 형식으로 전달하고 추가 처리 (이더넷, IPv4 및 UDP 프로토콜에 대한 다양한 정보를 추출)하는 함수를 통해 길이를 전달하고자합니다. 그래서 어떤 형식의 패킷이 pcapdot.net 즉, byte [] 또는 다른 형식으로 캡처되는지 묻고 싶습니다.

Packet packet; 
do 
{ 
    PacketCommunicatorReceiveResult result = communicator.ReceivePacket(out packet); 
    switch (result) 
    { 
     case PacketCommunicatorReceiveResult.Timeout: 
      // Timeout elapsed 
      continue; 
     case PacketCommunicatorReceiveResult.Ok: 
      Console.WriteLine(packet.Timestamp.ToString("yyyy-MM-dd hh:mm:ss.fff") + " length:" + 
           packet.Length); 
      **ParseData(packet,packet.Length);**// **I WANT TO CALL THIS FUNCTION** 
      break; 
     default: 
      throw new InvalidOperationException("The result " + result + " shoudl never be reached here"); 
    } 
} while (true); 

답변

0

Packet 클래스의 Buffer 속성을 호출하면됩니다. 그래서 기본적으로

:

ParseData(packet.Buffer,packet.Length);