public void VerifyPacket1(Packet p, RawCapture rawCapture, LinkLayers linkLayers) { Assert.IsNotNull(p); Console.WriteLine(p.ToString()); Assert.AreEqual(linkLayers, rawCapture.GetLinkLayers()); if (linkLayers == LinkLayers.Ethernet) { var e = (EthernetPacket)p; Assert.AreEqual(PhysicalAddress.Parse("F894C22EFAD1"), e.SourceHardwareAddress); Assert.AreEqual(PhysicalAddress.Parse("333300000016"), e.DestinationHardwareAddress); } var ip = p.Extract <IPv6Packet>(); Console.WriteLine("ip {0}", ip); Assert.AreEqual(IPAddress.Parse("fe80::d802:3589:15cf:3128"), ip.SourceAddress); Assert.AreEqual(IPAddress.Parse("ff02::16"), ip.DestinationAddress); Assert.AreEqual(IPVersion.IPv6, ip.Version); Assert.AreEqual(ProtocolType.IcmpV6, ip.Protocol); Assert.AreEqual(28, ip.PayloadPacket.Bytes.Length, "ip.PayloadPacket.Bytes.Length mismatch"); Assert.AreEqual(1, ip.HopLimit); Assert.AreEqual(1, ip.TimeToLive); Assert.AreEqual(0x3a, (byte)ip.Protocol); Console.WriteLine("Failed: ip.ComputeIPChecksum() not implemented."); Assert.AreEqual(1543415539, rawCapture.Timeval.Seconds); Assert.AreEqual(841441.000, rawCapture.Timeval.MicroSeconds); Assert.AreEqual(1, ip.ExtensionHeaders.Count); Assert.AreEqual(6, ip.ExtensionHeaders[0].Payload.Length); }
// icmpv6 public void VerifyPacket0(Packet p, RawCapture rawCapture, LinkLayers linkLayers) { Assert.IsNotNull(p); Console.WriteLine(p.ToString()); Assert.AreEqual(linkLayers, rawCapture.GetLinkLayers()); if (linkLayers == LinkLayers.Ethernet) { var e = (EthernetPacket)p; Assert.AreEqual(PhysicalAddress.Parse("00-A0-CC-D9-41-75"), e.SourceHardwareAddress); Assert.AreEqual(PhysicalAddress.Parse("33-33-00-00-00-02"), e.DestinationHardwareAddress); } var ip = p.Extract <IPPacket>(); Console.WriteLine("ip {0}", ip); Assert.AreEqual(IPAddress.Parse("fe80::2a0:ccff:fed9:4175"), ip.SourceAddress); Assert.AreEqual(IPAddress.Parse("ff02::2"), ip.DestinationAddress); Assert.AreEqual(IPVersion.IPv6, ip.Version); Assert.AreEqual(ProtocolType.IcmpV6, ip.Protocol); Assert.AreEqual(16, ip.PayloadPacket.Bytes.Length, "ip.PayloadPacket.Bytes.Length mismatch"); Assert.AreEqual(255, ip.HopLimit); Assert.AreEqual(255, ip.TimeToLive); Console.WriteLine("Failed: ip.ComputeIPChecksum() not implemented."); Assert.AreEqual(1221145299, rawCapture.Timeval.Seconds); Assert.AreEqual(453568.000, rawCapture.Timeval.MicroSeconds); }