我正在构建一个GUI来通过以太网捕获数据包。
我希望以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 :(得分:0)
您只需调用Packet类的Buffer属性即可。
基本上是这样的:
ParseData(packet.Buffer,packet.Length);