public void IPv6PacketTestParsing(String pcapPath, LinkLayers linkLayer) { var dev = new CaptureFileReaderDevice(pcapPath); PcapPacket p; using (FileStream fsin = File.Open(pcapPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { PcapStream ps = new PcapStream(); ps.Initialize(fsin); p = ps.GetPacket(); Int32 packetIndex = 0; while (p != null) { switch (packetIndex) { case 0: VerifyPacket0(p.Packet, linkLayer); break; default: Assert.Fail("didn't expect to get to packetIndex " + packetIndex); break; } packetIndex++; p = ps.GetPacket(); } } }
public void ICMPv4Parsing(String pcapPath, LinkLayers linkLayer) { Packet p; using (FileStream fsin = File.Open(pcapPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { PcapStream ps = new PcapStream(); ps.Initialize(fsin); p = ps.GetPacket().Packet; } Assert.IsNotNull(p); var icmp = (ICMPv4Packet)p.Extract(typeof(ICMPv4Packet)); Console.WriteLine(icmp.GetType()); Assert.AreEqual(ICMPv4TypeCodes.EchoRequest, icmp.TypeCode); Assert.AreEqual(0xe05b, icmp.Checksum); Assert.AreEqual(0x0200, icmp.ID); Assert.AreEqual(0x6b00, icmp.Sequence); // check that the message matches String expectedString = "abcdefghijklmnopqrstuvwabcdefghi"; Byte[] expectedData = System.Text.ASCIIEncoding.ASCII.GetBytes(expectedString); Assert.AreEqual(expectedData, icmp.Data); }